0

XSS 攻撃を防ぐためのより良い方法はどれですか? これが私がやろうとしているコードです。

このコード行は XSS 攻撃を防ぐのに十分ですか? または、「strip_tags」を使用して各要素を解析する必要がありますか? ご提案ありがとうございます。

  $xss = array_map('strip_tags', $_POST);   

また

この方法では、多くのフォーム要素を「strip_tags」で変更する必要があります。

$f_name = strip_tags($_POST["f-name"]);
$a_id = isset($_POST['a_id']) ? (int)strip_tags($secure_POST['a_id']) : 0;

$qry = $pdo_conn->prepare('INSERT INTO TABLE1(id, f_name) VALUES (?, ?)');
$qry->execute(array($a_id, $f_name));
4

2 に答える 2

2

XSS はCross Site Scripting、Web サイトに悪意のある html 要素を挿入することを意味し、それを行っています。これは、表示時に適切な文字セット (utf8 など) と htmlentities を設定することで防ぐことができます。

念のため、元のデータをデータベースに保持しておきたい。アンチ XSS 戦術を変更する場合は、データがまだ準備されていないため、一度に変更できます。

私はあなたがアンチを意味すると思いますsql-injection。準備されたステートメントはそれ自体でそれを行います (utf8 のような適切な文字セットが定義されている場合)、それについて心配する必要はありません。ただし、 $_POST['int'] に実際に int 値しかないかどうかを確認するなど、事前にいくつかの確認を行うことができます (例として)。

于 2013-08-28T18:01:50.407 に答える