ホームページ  >  記事  >  バックエンド開発  >  PHP で XSS を防ぐ方法

PHP で XSS を防ぐ方法

清浅
清浅オリジナル
2019-05-08 15:44:187855ブラウズ

php xss を防ぐメソッド: 1. PHP が HTML を出力するとき、フィルタリングに htmlentities()、RemoveXss()、HTMLPurifier.auto.php を使用します; 2. Cookie を設定するときに、HttpOnly パラメーターを追加します; 3. 開発APIを使用する場合はリクエストのRefererパラメータを確認してください。

PHP で XSS を防ぐ方法

#php は xss

1 を防ぎます。PHP が HTML を直接出力する場合は、次の方法を使用できます。フィルタ:

htmlspecialchars 関数

htmlentities 関数

HTMLPurifier.auto.php プラグイン

RemoveXss 関数

2. PHP が JS コードに出力する場合、または Json API を開発する場合、フロントエンドを JS でフィルターする必要があります。

innerText (IE) および textContent (Firefox) を使用してみてください。テキストコンテンツを出力するための jQuery の text () です。

innerHTML やその他の関数を使用する必要があり、php の htmlspecialchars と同様のフィルタリングを行う必要があります。


3. その他の一般的な補足防御意味

HTML出力時にContent Security PolicyのHttpヘッダーを追加します

機能: XSS攻撃時にページがサードパーティのスクリプトファイルに埋め込まれるのを防ぐことができます

欠点: IE 以前のバージョンのブラウザでは

2 がサポートされていない可能性があります。Cookie を設定する場合、HttpOnly パラメータを追加します。

機能: Cookie 情報が使用されないようにすることができます。ページは XSS によって攻撃されています。盗用、IE6 と互換性あり

欠陥: Web サイトの JS コード自体は Cookie を操作できず、その機能は制限されており、Cookie のセキュリティのみを保証できます

3. API開発時にリクエストのRefererパラメータを確認する

機能: CSRF攻撃をある程度防ぐことができる

欠点: IE以下のバージョンのブラウザではRefererパラメータが偽造される可能性がある

以上がPHP で XSS を防ぐ方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。