PHP: How To Integrate HTML Purifier To Fileter User Submitted Data?
        Posted  
        
            by TaG
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by TaG
        
        
        
        Published on 2010-03-30T13:41:44Z
        Indexed on 
            2010/03/30
            13:53 UTC
        
        
        Read the original article
        Hit count: 400
        
I have this script that collects data from users and I wanted to check their data for malicious code like XSS and SQL injections by using HTML Purifier http://htmlpurifier.org/ but how do I add it to my php form submission script?
Here is my HTML purifier code
 require_once '../../htmlpurifier/library/HTMLPurifier.auto.php';
 $config = HTMLPurifier_Config::createDefault();
 $config->set('Core.Encoding', 'UTF-8'); // replace with your encoding
 $config->set('HTML.Doctype', 'XHTML 1.0 Strict'); // replace with your doctype
 $purifier = new HTMLPurifier($config); 
 $clean_html = $purifier->purify($dirty_html);
Here is my PHP form submission code.
if (isset($_POST['submitted'])) { // Handle the form.
    $mysqli = mysqli_connect("localhost", "root", "", "sitename");
    $dbc = mysqli_query($mysqli,"SELECT users.*, profile.*
                                 FROM users 
                                 INNER JOIN contact_info ON contact_info.user_id = users.user_id 
                                 WHERE users.user_id=3");
    $about_me = mysqli_real_escape_string($mysqli, $_POST['about_me']);
    $interests = mysqli_real_escape_string($mysqli, $_POST['interests']);
if (mysqli_num_rows($dbc) == 0) {
        $mysqli = mysqli_connect("localhost", "root", "", "sitename");
        $dbc = mysqli_query($mysqli,"INSERT INTO profile (user_id, about_me, interests) 
                                     VALUES ('$user_id', '$about_me', '$interests')");
}
if ($dbc == TRUE) {
        $dbc = mysqli_query($mysqli,"UPDATE profile 
                                     SET about_me = '$about_me', interests = '$interests' 
                                     WHERE user_id = '$user_id'");
        echo '<p class="changes-saved">Your changes have been saved!</p>';
}
if (!$dbc) {
        // There was an error...do something about it here...
        print mysqli_error($mysqli);
        return;
}
}
© Stack Overflow or respective owner