关键词解释
$_POST:
PHP $_POST 广泛用于收集提交 method="post" 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。\
htmlspecialchars() :
htmlspecialchars() 函数把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 < 和 > 。
一、当输入数据为< h> f< /h>时即$data="< h> f< /h>"
这是我的过滤函数,把$data看作 $_POST[]获取到的数据即可 (通过 PHP trim() 函数)去除用户输入数据中不必要的字符(多余的空格、制表符、换行) (通过 PHP stripslashes() 函数)删除用户输入数据中的反斜杠(\) 这两个函数可以不用管。 这样的过滤时,是没有问题的,过滤结果为!!! h!!! f!!! /h!!!
二、 当输入数据为< ;h> ; f< ; /h> ;时即$data="< ;h> ; f< ; /h> ;"
众所周知,"<"=< ; 还有">"=&gl ;
再使用上面的方法就会不会生效,注入攻击危险依旧存在 这时候就要用到htmlspecialchars() : 如下图: 输入无论是<>还是< ;> ; 都会被过滤掉
总结
之前用了**htmlspecialchars() : **后 str_replace替换目标是<> 找bug差点没把我找裂开。。。。
|