0

本当に簡単な問題であなたの助けが必要です。私のウェブサイトのいくつかのページのコンテンツは MySQL データベースに保存されて おり、ブラウザに出力するときにhtmlspecialchars()を適用しましたが、実際には<img src="images/me.jpg">有効であるはずのプレーン テキストとしてレンダリングされる正当なものがあります。画像は記事内容の一部です。

画像を正常に表示し、同時に XSS 攻撃の可能性などを回避するにはどうすればよいですか。

ありがとう

4

3 に答える 3

0

HTMLPurifierを使用します-HTMLコードを保持(および整形式)しながら、タグ属性に配置されたjavascriptを含むすべてのスクリプトを削除します

于 2012-05-21T21:35:19.140 に答える
0

一般的な方法は、これには HTML を使用せず、bbcode や Markdown などの独自の書式設定言語を使用することです。そうすれば、そのフォーマットを HTML に簡単に変換できると同時に、ユーザーが必要な HTML を入力する必要がなくなります。

于 2012-05-21T21:22:05.653 に答える
0

HTML 標準に従ってHTML を解析し、保持したくない要素/属性/属性値を破棄します。srcすべての要素の値をチェックしてimg、有効な URL であるかどうかを確認し、有効な場合は、実際に存在し、有効な画像であるかどうかを確認します。そうでない場合は、要素を破棄します。

独自のフォーマット言語 (BBCode や Markdown など) を使用する場合でも、各img要素に提供された値に対してチェックを実行する必要があります (BBCode、Markdown などを解析する多くのライブラリがこれらのチェックを実行します)。

于 2012-05-21T21:25:38.240 に答える