0

ユーザーが Markdown を使用して XSS を回避してコメントできるようにしたいと考えています。

正しい一連のアクションは何ですか?

これがどのように機能するかについての私の理解です:

user input via HTML form using Markdown syntax
$Input = markdown(mysql_real_escape_string($_POST['userInput']));
insert $input into database

そして、 htmlspecialchars も使用する必要がありますか?

4

2 に答える 2

0

mysql_real_escape_stringは、SQL インジェクションを回避するために使用されます。SQLをエスケープするためです。

XSS は、strip_tags()、preg_match()、および htmlspecialchars() を一緒に使用して回避できます。

XSS は、エクスプロイトを含む html タグに基づいています。たとえば、Java スクリプトのスクリプト、リダイレクト、タグ内のファイルを開くなどです。

strip_tags() は html タグを削除します。また、もう 1 つ興味深い関数があります。

XSS を防ぐための htmlspecialchars()。

SQLインジェクション攻撃を防ぐために最も重要なこと

  1. preg_match を使用したデータ検証
  2. strip_tags を使用したデータ サニタイズ
  3. htmlspecialchars を使用した出力エスケープ

したがって、最初にデータを検証してからサニタイズし、最後に htmlspecialchars を使用してエスケープする必要があります。

于 2013-05-06T11:23:28.973 に答える