介绍
小编给大家分享一下ThinkPHP如何防止XSS攻击,希望大家阅读完这篇文章之后都有所收获、下面让我们一起去探讨吧!
<强> ThinkPHP防止XSS攻击的方法强>
1如果您的项目没有富文本编辑器然后就可以使用全局过滤方法在应用程序下面的配置配置文件加上:
//,默认全局过滤方法,用逗号分隔多个 & # 39;default_filter& # 39;,=祝辞,& # 39;:# 39;,
如果有富文本编辑器的话就不适合使用这种防XSS攻击
那么使用作曲家安装插件来处理
命令
composer require ezyang/htmlpurifier
安装成功以后在应用程序下面的常见。php放公共函数的地方添加如下代码
if (! function_exists (& # 39; remove_xss& # 39;)), { ,,,//使用htmlpurifier防范xss攻击 ,,,function remove_xss ($ string) { ,,,//作曲家安装的,不需要此步骤。相对index . php入口文件,引入HTMLPurifier.auto.php核心文件 ,,,//,require_once & # 39;。/插件/htmlpurifier HTMLPurifier.auto.php& # 39;; ,,,//,生成配置对象 ,,,cfg 美元;=,HTMLPurifier_Config: createDefault (); ,,,//,以下就是配置: ,,,cfg 美元;→,设置(& # 39;Core.Encoding& # 39;,, & # 39; utf - 8 # 39;); ,,,//,设置允许使用的HTML标签 ,,,cfg 美元;→,设置(& # 39;HTML.Allowed& # 39; & # 39; div, b,坚强,我,哦,(href |标题),ul, ol,李,br, p(风格),跨度(风格),img(宽度高度| | alt | src) & # 39;); ,,,//,设置允许出现的CSS样式属性 ,,,cfg 美元;→,设置(& # 39;CSS.AllowedProperties& # 39;,, & # 39;字体,字体大小,粗细,字体样式、字体类型,文字修饰,padding-left,颜色,背景颜色,text-align& # 39;); ,,,//,设置一个标签上是否允许使用目标=癬blank" ,,,cfg 美元;→,设置(& # 39;HTML.TargetBlank& # 39;,,真的); ,,,//,使用配置生成过滤用的对象 ,,,obj 美元;=,new HTMLPurifier ($ cfg); ,,,//,过滤字符串 ,,,return obj 美元;→,净化($ string); }
然后在应用目录下的配置。php配置文件
把这个过滤方法改成那个方法名即可
结合框架的使用和插件的使用可以使用这个上面的代码可以可以直接使用的
也可以针对某个字段进行XSS验证
1修改命令的文件把改成这个& # 39;default_filter& # 39;=比;& # 39;:# 39;
2然后在你要更改的字段上面修改成
看完了这篇文章,相信你对“ThinkPHP如何防止XSS攻击”有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!