转化的思想防范xss攻击
转化的思想:将输入内容中的<>转化为html实体字符。
原生php中对xss攻击进行防范,使用htmlspecialchars函数,将用户输入的字符串中的特殊字符,比如<> 转化为html实体字符。
TP框架中,可以设置在获取输入变量时,使用htmlspecialchars函数对输入进行处理。
设置方法:修改application/config.php
注意:在框架配置文件中,配置的函数名称,如果写错,页面不会报错,只是所有接收的数据都是null.
'default_filter' => 'htmlspecialchars',
过滤的思想防范xss攻击
过滤的思想:将输入内容中的script标签js代码过滤掉。
特别在富文本编辑器中,输入的内容源代码中,包含html标签是正常的。不能使用htmlspecialchars进行处理。如果用户直接在源代码界面输入js代码,也会引起xss攻击。
通常使用htmlpurifier插件进行过滤。
使用步骤:
① 使用composer执行命令,安装 ezyang/htmlpurifier 扩展类库
composer require ezyang/htmlpurifier
② 在application/common.php中定义remove_xss函数
if (!function_exists('remove_xss')) {undefined
//使用htmlpurifier防范xss攻击
function remove_xss($string){undefined
//相对ind