一,什么是xss?
XSS 攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,
使用户加载并执行攻击者恶意制造的网页程序。
这些恶意网页程序通常是 JavaScript,但实际上也可以包括 Java,VBScript,ActiveX,Flash 或者甚至是普通的 HTML。
攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、私密网页内容、会话和 cookie 等各种内容。
二,代码:
1, 安装第三方库
地址:
github.com/ezyang/htmlpurifier
安装:
liuhongdi@lhdpc:/data/site/gsapi$ composer require ezyang/htmlpurifier
2,实际调用:
public function testvalid(Request $request) {
$params = $this->validate($request, [
'content' => 'required|string',
]);
//原始输入内容
$content = $params['content'];
var_dump($content);
//strip_tags输出
var_dump(strip_tags($content));
//HTMLPurifier输出
$config = \HTMLPurifier_Config::createDefault();
$config->set('HTML.Allowed', '');
$purifier = new \HTMLPurifier($config);
$value = $purifier->purify($content);
var_dump($value);
}
三,运行效果:
string(59) "<script>
alert('hello,js');
</script>这是一段测试文字"
string(42) "alert('hello,js');这是一段测试文字"
string(24) "这是一段测试文字"
可以看到: 第三行htmlpurifier对文字的处理比第二行strip_tags()函数的处理要更彻底
标签:laravel,xss,网页,string,dump,tags,攻击,content From: https://www.cnblogs.com/architectforest/p/18355230