1.什么是XSS攻击
跨站脚本攻击(Cross Site Scripting),攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
2.转化思想:将输入内容中的<>转化为html实体字符,即将用户输入的字符串中的特殊字符,在全局的Request.php里添加,可控制全局
protected $filter = 'htmlspecialchars';
3.过滤思想:将输入内容中的script标签js代码过滤掉。
使用步骤:
① 使用composer执行命令,安装 ezyang/htmlpurifier 扩展类库
composer require ezyang/htmlpurifier
② 在application/common.php中定义remove_xss函数
if (!function_exists('remove_xss')) {
//使用htmlpurifier防范xss攻击
function remove_xss($string){
//相对index.php入口文件,引入HTMLPurifier.auto.php核心文件
//require_once './plugins/htmlpurifier/HTMLPurifier.auto.php';
// 生成配置对象
$cfg = HTMLPurifier_Config::createDefault();
// 以下就是配置:
$cfg -> set('Core.Encoding', 'UTF-8