ホームページ  >  記事  >  バックエンド開発  >  PHP で XSS インジェクションを防御する究極のソリューション

PHP で XSS インジェクションを防御する究極のソリューション

藏色散人
藏色散人転載
2020-01-06 16:46:233499ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。