0

この文字列 ($str) があり、Javascript の実行を防止しようとしています:

<script> ... </script>
<link onload="...">
<div onmouseover="...">

これらのコマンドを適用します。

$find = Array("script", "onload", "onmouseover");
$rep = Array("noscript", "no_onload", "no_onmouseover");

$new = str_replace($find, $rep, $str);

作業例: http://codepad.org/kwuQvRiM

他のイベント属性があることは知っていますが、質問を短くするために、3 つの要素/属性のみを選択しました。

ユーザーが$strPHPソースで宣言する代わりに入力できるようにすると($str = $_GET["str"]たとえば)、ユーザーは$strコードを変更して、この保護を何らかの方法で悪用できますか?

データベースに保存され、後で使用されると想像してください$new。文字列がJavaScriptの実行から安全かどうかを知りたいです。

注:このタスクを実行するためのより安全な方法があることは知っていますが、この質問は教訓的な研究のためのものであり、この方法で実行する必要があります

4

0 に答える 0