Make WordPress Core

Changeset 3574


Ignore:
Timestamp:
02/28/2006 04:22:24 AM (19 years ago)
Author:
ryan
Message:

Strip all html from comment author name, email, and url.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-comments-post.php

    r3566 r3574  
    4949$commentdata = compact('comment_post_ID', 'comment_author', 'comment_author_email', 'comment_author_url', 'comment_content', 'comment_type', 'user_ID');
    5050
    51 wp_new_comment( $commentdata );
     51$comment_id = wp_new_comment( $commentdata );
    5252
     53$comment = get_comment($comment_id);
    5354if ( !$user->ID ) :
    54     setcookie('comment_author_' . COOKIEHASH, stripslashes($comment_author), time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
    55     setcookie('comment_author_email_' . COOKIEHASH, stripslashes($comment_author_email), time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
    56     setcookie('comment_author_url_' . COOKIEHASH, stripslashes(clean_url($comment_author_url)), time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
     55    setcookie('comment_author_' . COOKIEHASH, $comment->comment_author, time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
     56    setcookie('comment_author_email_' . COOKIEHASH, $comment->comment_author_email, time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
     57    setcookie('comment_author_url_' . COOKIEHASH, clean_url($comment->$comment_author_url), time() + 30000000, COOKIEPATH, COOKIE_DOMAIN);
    5758endif;
    5859
  • trunk/wp-includes/kses.php

    r3566 r3574  
    513513function wp_filter_kses($data) {
    514514    global $allowedtags;
    515     return wp_kses($data, $allowedtags);
     515    return addslashes( wp_kses(stripslashes( $data ), $allowedtags) );
    516516}
    517517
     
    521521}
    522522
     523function wp_filter_nohtml_kses($data) {
     524    return addslashes ( wp_kses(stripslashes( $data ), array()) );
     525}
     526
    523527function kses_init_filters() {
    524         add_filter('pre_comment_author', 'wp_filter_kses');
    525         add_filter('pre_comment_content', 'wp_filter_kses');
    526         add_filter('content_save_pre', 'wp_filter_post_kses');
    527         add_filter('title_save_pre', 'wp_filter_kses');
     528    // Normal filtering.
     529    add_filter('pre_comment_content', 'wp_filter_kses');
     530    add_filter('title_save_pre', 'wp_filter_kses');
     531
     532    // Post filtering
     533    add_filter('content_save_pre', 'wp_filter_post_kses');
     534
     535    // Strip all html.
     536    add_filter('pre_comment_author_name', 'wp_filter_nohtml_kses');
     537    add_filter('pre_comment_author_url', 'wp_filter_nohtml_kses');
     538    add_filter('pre_comment_author_email', 'wp_filter_nohtml_kses');
     539    add_filter('pre_comment_user_ip', 'wp_filter_nohtml_kses');
     540    add_filter('pre_comment_user_agent', 'wp_filter_nohtml_kses');
     541    add_filter('pre_user_id', 'wp_filter_nohtml_kses');
     542}
     543
     544function kses_remove_filters() {
     545    // Normal filtering.
     546    remove_filter('pre_comment_content', 'wp_filter_kses');
     547    remove_filter('title_save_pre', 'wp_filter_kses');
     548
     549    // Post filtering
     550    remove_filter('content_save_pre', 'wp_filter_post_kses');
     551
     552    // Strip all html.
     553    remove_filter('pre_comment_author_name', 'wp_filter_nohtml_kses');
     554    remove_filter('pre_comment_author_url', 'wp_filter_nohtml_kses');
     555    remove_filter('pre_comment_author_email', 'wp_filter_nohtml_kses');
     556    remove_filter('pre_comment_user_ip', 'wp_filter_nohtml_kses');
     557    remove_filter('pre_comment_user_agent', 'wp_filter_nohtml_kses');
     558    remove_filter('pre_user_id', 'wp_filter_nohtml_kses');
    528559}
    529560
    530561function kses_init() {
    531     remove_filter('pre_comment_author', 'wp_filter_kses');
    532     remove_filter('pre_comment_content', 'wp_filter_kses');
    533     remove_filter('content_save_pre', 'wp_filter_post_kses');
    534     remove_filter('title_save_pre', 'wp_filter_kses');
     562    kses_remove_filters();
    535563
    536564    if (current_user_can('unfiltered_html') == false)
    537565        kses_init_filters();
    538566}
     567
    539568add_action('init', 'kses_init');
    540569add_action('set_current_user', 'kses_init');
Note: See TracChangeset for help on using the changeset viewer.