11

重複の可能性:
PHPでユーザー入力をサニタイズするための最良の方法は何ですか?

TinyMCEを使用して、Webページのごく一部を編集できるようにしています。

このフィールドはデータベースに保存されます。

XSS / NULL / DROP TABLESのような攻撃を回避するために、着信HTMLコードをクリーンアップするために使用できる正規表現はありますか?

私はこれを1行の入力テキスト/数字などで実行しましたが、HTML文字列を受信するときにこれを実行する方法がわかりません。

4

3 に答える 3

11

HTMLPurifierで遊ぶことをお勧めします。

于 2012-05-21T14:51:49.633 に答える
5

PHP関数を使用できます:striptagsおよびhtmlspecialchars

http://php.net/manual/en/function.strip-tags.php

于 2012-05-21T14:50:07.127 に答える
2

あなたはこれを使うことができます-

 function safe_sql($obj)
{
    $obj = htmlspecialchars($obj);
    $obj = str_replace('"',""",$obj);
    $obj = str_replace("'","'",$obj);
    $obj = str_replace("`","`",$obj);
    $obj = mysql_real_escape_string($obj);
    return $obj;
}

私はそれを使用しています、そしてそれはうまく働いています。また、この関数を使用して、通常の状態にすることもできます(データベースからデータをプルした後)-

 function to_Normal($data)
{
    $data = htmlspecialchars_decode($data);

    $data = str_replace(""",'"',$data);
    $data = str_replace("'","'",$data);
    $data = str_replace("`","`",$data);
    $data = nl2br($data);
    return $data;
}
于 2012-05-21T15:57:56.113 に答える