2016-09-15 15 views
-2

私はPHPでデータ検証コードを作成しようとしています。誰かが私のウェブサイトの入力ボックスからコードやスクリプトを挿入できることを理解しています。私は< "/\のような文字の入り口を阻止していますが、他に何を使うべきかわかりません。例えば、私は$ varにデータを受け入れています。もし誰かがecho "<div style = "position: fixed; height: 1000px; width: 100%" ></div>"を入力した場合、それを私の$ varに受け入れてコードを実行すれば実行されますか?ホストがそれを防ぐメカニズムを持っていない限り、PHPのデータ検証

答えて

0

いいえ、コードを実行するだけではありません。あなたが話しているのは、クロスサイトスクリプティング(XSS)です。$varに受け入れられるものではなく、$varをエンドユーザーに表示する方法について心配する必要があります。

HTMLタグは、PHPでは何も意味しません。何かが有効になるのはユーザーのブラウザに表示されるときだけです。したがって、これをユーザーに表示するときは、HTMLエンティティを変換する必要があります。

echo htmlentities($var);