我有这个字符串 ($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 个元素/属性,但是。
如果我允许用户填充$str
而不是在 PHP 源代码中声明它($str = $_GET["str"]
例如),那么用户可以更改$str
代码以某种方式利用这种保护?
想象一下它$new
存储在数据库中并稍后使用,我想知道该字符串是否可以安全地免受 javascript 执行。
注意我知道有更安全的方法来执行这项任务,但这个问题是针对教学研究的,我需要以这种方式执行