WordPress – Sicurezza, non eseguire HTML nei commenti

Spread the love

Oggi voglio proporre un semplice ed utilissimo snippet di codice relativo alla sicurezza all’interno di un sito WordPress, per fare in modo che all’interno della textarea relativa ai commenti non si possa eseguire alcun tipo di codice HTML.

Inserire questo snippet all’interno del file functions.php

// This will occur when the comment is posted
function plc_comment_post( $incoming_comment ) {
 
    // convert everything in a comment to display literally
    $incoming_comment['comment_content'] = htmlspecialchars($incoming_comment['comment_content']);
 
    // the one exception is single quotes, which cannot be #039; because WordPress marks it as spam
    $incoming_comment['comment_content'] = str_replace( "'", ''', $incoming_comment['comment_content'] );
 
    return( $incoming_comment );
}
 
// This will occur before a comment is displayed
function plc_comment_display( $comment_to_display ) {
 
    // Put the single quotes back in
    $comment_to_display = str_replace( ''', "'", $comment_to_display );
 
    return $comment_to_display;
}
 
add_filter( 'preprocess_comment', 'plc_comment_post', '', 1 );
add_filter( 'comment_text', 'plc_comment_display', '', 1 );
add_filter( 'comment_text_rss', 'plc_comment_display', '', 1 );
add_filter( 'comment_excerpt', 'plc_comment_display', '', 1 );
// This stops WordPress from trying to automatically make hyperlinks on text:
remove_filter( 'comment_text', 'make_clickable', 9 );
Facebook Comments

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *