ホームページ > ウェブフロントエンド > htmlチュートリアル > エスケープを使用して XSS_html/css_WEB-ITnose を防御します

エスケープを使用して XSS_html/css_WEB-ITnose を防御します

WBOY
リリース: 2016-06-24 11:24:44
オリジナル
1449 人が閲覧しました

XSS を防御するということは、出力時にユーザー入力をエスケープすることを意味します。XSS の問題は、本質的には、ユーザーが入力したデータとコードを混乱させるコード インジェクション、HTML または JavaScript コード インジェクションです。この問題を解決するには、ユーザーが制御可能なデータの特定の出力環境に応じて適切なエスケープを実行する必要があります。

HTMLタグで出力

<HTML标签>[输出]</HTML标签>
ログイン後にコピー

htmlencodeが必要です。具体的には、< をエスケープすると HTML インジェクションを防ぐことができます。

出力は通常の HTML 属性です

<div attr=不可信数据>content</div>
ログイン後にコピー

良い解決策は、信頼できないデータを二重引用符で囲み、データを htmlencode することです。

script タグ内の出力

<script>var $a="不可信数据"</script>
ログイン後にコピー

出力変数が引用符で囲まれていることを確認し、JavaScript を使用して入力データをエンコードします。 の切り捨てを防ぐには

on イベントでの出力

<a href=# onlick="funcA('$var')"> test</a>
ログイン後にコピー

防御: 最初に JavaScript エンコードを実行し、次に HTML エンコードを実行します。出力データは html タグ属性内にあるため、ブラウザは html 自己デコードを実行します。

アドレスに出力します

プロトコル、http または https をホワイトリストに登録し、他の部門を URL エンコードします。 JavaScript やデータ URI などの疑似プロトコル攻撃を回避します。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート