thinkphp中防止xss攻击的方法

发布时间 - 2019-07-03 00:00:00    点击率:

● xss(跨站脚本攻击)两种形式:输入js代码或者html代码导致页面乱。

● XSS(跨站脚本攻击)可以用于窃取其他用户的Cookie信息,要避免此类问题,可以采用如下解决方案:

直接过滤所有的JavaScript脚本;

转义Html元字符,使用htmlentities、htmlspecialchars等函数;

系统的扩展函数库提供了XSS安全过滤的remove_xss方法;

新版对URL访问的一些系统变量已经做了XSS处理。

用户提交的表单信息时候,该表单里边有可能存在相关的“代码”(html/css/js等代码),这样代码会在信息显示的时候对页面效果造成干扰。

1、下载htmlpurifier,解压后将library文件夹放到ThinkPhp的插件文件夹并在分组的common文件夹中创建function.php

2、在function,php中创建防止xss攻击方法

3.我们可以将从post中得到的数据先通过hThinkphp系统自带的I()方法来进行数据过滤然后在通过调用函数fanXSS进行过滤即可

举以下的例子:

在thinphp开发后台过程中需要添加编辑器,要让编辑器正常显示就要设置I函数不过滤。

现在的问题来了,如果不过滤就会被XSS攻击如果过滤在线编辑器就不好使了,解决的办法应该是有选择性的过滤,

我们可以一个开源的过滤的包:htmlpurifier包。

把下载的包解压到跟目录改名为HTMLpurifier

创建一个函数

然后修改配置文件config.php让I函数使用这个函数来过滤:

现在网站中I函数过滤时使用的就是我们写的这个函数:有选择性的过滤只过滤危险代码。

 

网站就很安全了!

本文来自ThinkPHP框架技术文章栏目:http://www./phpkj/thinkphp/


# thinkphp  # php  # JavaScript  # css  # html  # xss  # Cookie  # JS  # function  # http  # 编辑器  # 我们可以  # 表单  # 就会  # 来了  # 是有  # 有可能  # 两种  # 会在  # 并在 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  深入理解Android中的xmlns:tools属性  Laravel怎么使用Intervention Image库处理图片上传和缩放  PHP 500报错的快速解决方法  如何批量查询域名的建站时间记录?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  如何基于云服务器快速搭建网站及云盘系统?  移动端脚本框架Hammer.js  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  高防服务器租用指南:配置选择与快速部署攻略  微信小程序 require机制详解及实例代码  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  Laravel storage目录权限问题_Laravel文件写入权限设置  Laravel如何处理CORS跨域请求?(配置示例)  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  如何在云指建站中生成FTP站点?  Android自定义控件实现温度旋转按钮效果  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  微信小程序 scroll-view组件实现列表页实例代码  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何正确下载安装西数主机建站助手?  如何在阿里云虚拟服务器快速搭建网站?  如何实现javascript表单验证_正则表达式有哪些实用技巧  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  在线制作视频网站免费,都有哪些好的动漫网站?  焦点电影公司作品,电影焦点结局是什么?  Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  如何在万网自助建站中设置域名及备案?  电商网站制作价格怎么算,网上拍卖流程以及规则?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  python中快速进行多个字符替换的方法小结  浅谈redis在项目中的应用  如何在新浪SAE免费搭建个人博客?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  如何在阿里云部署织梦网站?  如何用AI帮你把自己的生活经历写成一个有趣的故事?  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  ,南京靠谱的征婚网站?  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  UC浏览器如何设置启动页 UC浏览器启动页设置方法