XSS インジェクションを防御するための PHP の究極のソリューション [情報セキュリティ] [ハック]
1: PHP が HTML を直接出力する場合、次のメソッドを使用してフィルタリングできます。
1.htmlspecialchars 関数
2.htmlentities 関数
3.HTMLPurifier.auto.php プラグイン
4.RemoveXss 関数 ( Baidu で見つかります)
2: PHP が JS コードに出力する場合、または Json API を開発する場合、フロントエンドは JS でフィルターする必要があります:
1. を使用してみてください。 innerText (IE) と textContent (Firefox)、つまり、テキスト コンテンツを出力するための jQuery の text()
2. innerHTML やその他の関数を使用する必要がある場合は、php の htmlspecialchars と同様のフィルタリングを行う必要があります (「 @eechen さんの回答)
# 3: その他の一般的な補足防御方法
#1. HTML 出力時に、Content Security Policy の Http ヘッダーを追加します(機能: XSS、サードパーティのスクリプト ファイルの埋め込みなどによるページの攻撃を防ぐことができます) (欠点: IE 以前のバージョンのブラウザではサポートされていない可能性があります) 2. Cookie を使用する場合の設定で、HttpOnly パラメータを追加します。 (機能: ページが XSS 攻撃を受けた場合に Cookie 情報が盗まれるのを防ぐことができ、IE6 と互換性があります) (欠点: Web サイト自体の JS コードも Cookie を操作することはできず、機能が制限されています。Cookie のセキュリティのみを確保できます) 3. API を開発する場合は、リクエストの Referer パラメーターを確認してください (機能: CSRF 攻撃をある程度防ぐことができます。) (欠点: IE 以前のバージョンのブラウザでは、Referer パラメータが偽造される可能性があります) PHP の詳細はこちら関連知識については、PHP チュートリアル をご覧ください。
以上がPHP で XSS インジェクションを防御する究極のソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。