为什么要发表这篇文章呢?原因看下图
很无奈,表示xss之前也是听过,只是没有真的去研究过,所以这次为了审核只能研究一番了。
XSS-即Cross Site Scripting. 为了与"CSS"不混淆,故简称 XSS.
但是别人已经写过的文章,我并不想完全复制下来 如果未来他网站比我先倒闭,我就写吧,现在只需点击进入 看了上面这么多,总结起来就是那几个特殊标签以及字符的关系,所以只需要屏蔽这些字符即可。
function gjj($str) { $farr = array( //定义过滤规则的数组 "/\\s+/", "/<(\\/?)(script|i?frame|style|html|body|title|link|meta|object|\\?|\\%)([^>]*?)>/isU", "/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU", ); $str = preg_replace($farr,"",$str); //用正则方式对字符串进行过滤 return addslashes($str); //返回字符串时对引号进行转义 } function hg_input_bb($array) { if (is_array($array)) { foreach($array AS $k => $v) //遍历提交上来的全局变量数组 { $array[$k] = hg_input_bb($v); } } else { $array = gjj($array); } return $array; } $_REQUEST = hg_input_bb($_REQUEST); //过略request方式的请求 $_GET = hg_input_bb($_GET);//过滤get方式的请求 $_POST = hg_input_bb($_POST); //过滤post方式的请求
可以过滤某些特殊字符和常见的html标签,防范基础的xss共攻击和sql注入。
(上面方法名可以自己换哦~)
只要这样,xss byebye