nonce-protect comments by users with unfiltered_html cap to prevent xsrf/xss. fixes #3973 for trunk
git-svn-id: http://svn.automattic.com/wordpress/trunk@5039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -25,14 +25,20 @@ $comment_content = trim($_POST['comment']);
|
||||
|
||||
// If the user is logged in
|
||||
$user = wp_get_current_user();
|
||||
if ( $user->ID ) :
|
||||
if ( $user->ID ) {
|
||||
$comment_author = $wpdb->escape($user->display_name);
|
||||
$comment_author_email = $wpdb->escape($user->user_email);
|
||||
$comment_author_url = $wpdb->escape($user->user_url);
|
||||
else :
|
||||
if ( current_user_can('unfiltered_html') ) {
|
||||
if ( wp_create_nonce('unfiltered-html-comment_' . $comment_post_ID) != $_POST['_wp_unfiltered_html_comment'] ) {
|
||||
kses_remove_filters(); // start with a clean slate
|
||||
kses_init_filters(); // set up the filters
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( get_option('comment_registration') )
|
||||
wp_die( __('Sorry, you must be logged in to post a comment.') );
|
||||
endif;
|
||||
}
|
||||
|
||||
$comment_type = '';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user