PHP防范XSS攻击
定义
XSS(Cross Site Scripting)攻击,中文名为跨站脚本攻击,是一种常见的网页攻击方式。
攻击者在web页面中插入一些恶意的javascript
或HTML
代码,当用户浏览该页面的时候,嵌入到web页面中的javascript
/HTML
代码会被执行,从而达到攻击目的。
一个简单的例子就是网页中的评论功能,用户编写一段javascript
代码(见下面)提交到服务器,如果不做过滤就直接显示出来的话,就会导致用户一打开页面就会有弹窗提示“你被攻击了”。
<script>window.alert("你被攻击了")</script>
防范手段
对用户数据进行过滤
这种攻击方式再次印证了“永远不要相信用户提交过来的数据”的真理,所以要防范这种攻击,就要对数据进行过滤,在用户提交时过滤,或者在输出页面时过滤都可以。
在PHP中可以使用htmlspecialchars或htmlentities函数,这两个函数都可以把特殊字符转换为HTML实体,区别在于,前者只会转换一部分字符,后者会转换全部特殊字符。
cookie设置为http only
较多XSS攻击注入的javascript
脚本代码都是为了获取用户的cookie信息,把cookie设置为http only,可以禁止javascript
读取。因此这种方法一定程度上也能防范XSS攻击。
具体在PHP中是将setcookie函数的
httponly
参数设置为true
PHP防范XSS攻击相关推荐
- thinkphp6 防范xss攻击
转化的思想防范xss攻击 转化的思想:将输入内容中的<>转化为html实体字符. 原生php中对xss攻击进行防范,使用htmlspecialchars函数,将用户输入的字符串中的特殊字符 ...
- 使用antisamy防范XSS攻击及常用antisamy策略文件
本文提及的XML策略文件下载地址:http://download.csdn.net/detail/softwave/9716400 antisamy的maven依赖: <dependency&g ...
- Laravel防范xss攻击
XSS 也称跨站脚本攻击 (Cross Site Scripting),恶意攻击者往 Web 页面里插入恶意 JavaScript 代码,当用户浏览该页之时,嵌入其中 Web 里面的 JavaScri ...
- js html转为实体,字符串js编码转换成实体html编码的方法(防范XSS攻击)
js代码在html页面中转换成实体html编码的方法一: js代码转换成实体html js代码转换成实体html--红 function test(){ alert('测试红') } test(); ...
- 【应用安全之xss二】xss攻击介绍和防范(前端)
本文我们会讲解 XSS ,主要包括: XSS 攻击的介绍 XSS 攻击的分类 XSS 攻击的预防和检测 XSS 攻击的总结 XSS 攻击案例 XSS 攻击的介绍 在开始本文之前,我们先提出一个问题,请 ...
- 关于防范csrf攻击基于token鉴权
在web开发中,之前都使用cookie + session方式来实现身份认证鉴权.但是现在前后端分离,以及终端有可能不支持cookie的情况下,一般都采用token方式.现在系统设计思路如下: 服务端 ...
- xss过滤器无法处理ajax请求_thunkPHP 预防XSS攻击
比如在有人恶意在你的输入框中或文本域中输入<script>标签,如果不做处理的话,输入框中的<script>会保存到我们数据库中,等到将这个数据拿出来展示的时候,就等于将这个内 ...
- .net解决Xss攻击
首先要明白什么是Xss攻击 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中.比如这些代码包括HTML代码和客户端脚本.攻击者利用XSS漏 ...
- 有效预防xss_预防XSS攻击的一些方法整理
XSS又称CSS,全称Cross SiteScript(跨站脚本攻击), XSS攻击类似于SQL注入攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原 ...
- tp6 防止XSS攻击之表单提交安全校验
对后端做安全措施:转化和过滤 首先:tp6框架已经自带转化危险标签 其次:使用tp6做过滤掉危险标签 安装 composer 安装插件来处理 composer require ezyang/htmlp ...
最新文章
- Android中使用xml处理图片,Android布局 – 在xml中偏移背景图像
- 2021年夏季学期“清华大学大数据能力提升项目” 招募《大数据实践课》企业合作项目...
- 「小程序JAVA实战」小程序的页面重定向(60)
- NDK编译生成so文件
- java输出孪生素数对数_为什么孪生素数、波利尼亚克、哥德巴赫这些素数加减关系的猜想不能被证明?问题出在哪?...
- android拍照识别人脸,Android 人脸识别拍照demo
- Abp vNext 切换MySql数据库
- 计算机专业的双证在职研究生,计算机类在职研究生最终能获得双证吗难度是不是很大呢...
- 伸缩轨道_深度解析——伸缩喷漆房为什么这么受欢迎!
- python怎么向列表中添加内容_Python中向List添加元素方法
- 03-09 toast 控件识别
- 数据库迁移Flyway
- 使用LoRa技术进行智慧城市转型
- HTML知识积累及实践(四) - 表单元素
- Ansys许可重新配置
- Go runtime发展历程图片
- MeshBaker插件 使用套路
- Swift调用协议扩展导致崩溃的解决
- 算法图解(递归调用栈)
- 计算机一级网络题连接网络,计算机一级MSOffice模拟试题及答案