定义

XSS(Cross Site Scripting)攻击,中文名为跨站脚本攻击,是一种常见的网页攻击方式。

攻击者在web页面中插入一些恶意的javascriptHTML代码,当用户浏览该页面的时候,嵌入到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攻击相关推荐

  1. thinkphp6 防范xss攻击

    转化的思想防范xss攻击 转化的思想:将输入内容中的<>转化为html实体字符. 原生php中对xss攻击进行防范,使用htmlspecialchars函数,将用户输入的字符串中的特殊字符 ...

  2. 使用antisamy防范XSS攻击及常用antisamy策略文件

    本文提及的XML策略文件下载地址:http://download.csdn.net/detail/softwave/9716400 antisamy的maven依赖: <dependency&g ...

  3. Laravel防范xss攻击

    XSS 也称跨站脚本攻击 (Cross Site Scripting),恶意攻击者往 Web 页面里插入恶意 JavaScript 代码,当用户浏览该页之时,嵌入其中 Web 里面的 JavaScri ...

  4. js html转为实体,字符串js编码转换成实体html编码的方法(防范XSS攻击)

    js代码在html页面中转换成实体html编码的方法一: js代码转换成实体html js代码转换成实体html--红 function test(){ alert('测试红') } test(); ...

  5. 【应用安全之xss二】xss攻击介绍和防范(前端)

    本文我们会讲解 XSS ,主要包括: XSS 攻击的介绍 XSS 攻击的分类 XSS 攻击的预防和检测 XSS 攻击的总结 XSS 攻击案例 XSS 攻击的介绍 在开始本文之前,我们先提出一个问题,请 ...

  6. 关于防范csrf攻击基于token鉴权

    在web开发中,之前都使用cookie + session方式来实现身份认证鉴权.但是现在前后端分离,以及终端有可能不支持cookie的情况下,一般都采用token方式.现在系统设计思路如下: 服务端 ...

  7. xss过滤器无法处理ajax请求_thunkPHP 预防XSS攻击

    比如在有人恶意在你的输入框中或文本域中输入<script>标签,如果不做处理的话,输入框中的<script>会保存到我们数据库中,等到将这个数据拿出来展示的时候,就等于将这个内 ...

  8. .net解决Xss攻击

    首先要明白什么是Xss攻击 XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中.比如这些代码包括HTML代码和客户端脚本.攻击者利用XSS漏 ...

  9. 有效预防xss_预防XSS攻击的一些方法整理

    XSS又称CSS,全称Cross SiteScript(跨站脚本攻击), XSS攻击类似于SQL注入攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原 ...

  10. tp6 防止XSS攻击之表单提交安全校验

    对后端做安全措施:转化和过滤 首先:tp6框架已经自带转化危险标签 其次:使用tp6做过滤掉危险标签 安装 composer 安装插件来处理 composer require ezyang/htmlp ...

最新文章

  1. Android中使用xml处理图片,Android布局 – 在xml中偏移背景图像
  2. 2021年夏季学期“清华大学大数据能力提升项目” 招募《大数据实践课》企业合作项目...
  3. 「小程序JAVA实战」小程序的页面重定向(60)
  4. NDK编译生成so文件
  5. java输出孪生素数对数_为什么孪生素数、波利尼亚克、哥德巴赫这些素数加减关系的猜想不能被证明?问题出在哪?...
  6. android拍照识别人脸,Android 人脸识别拍照demo
  7. Abp vNext 切换MySql数据库
  8. 计算机专业的双证在职研究生,计算机类在职研究生最终能获得双证吗难度是不是很大呢...
  9. 伸缩轨道_深度解析——伸缩喷漆房为什么这么受欢迎!
  10. python怎么向列表中添加内容_Python中向List添加元素方法
  11. 03-09 toast 控件识别
  12. 数据库迁移Flyway
  13. 使用LoRa技术进行智慧城市转型
  14. HTML知识积累及实践(四) - 表单元素
  15. Ansys许可重新配置
  16. Go runtime发展历程图片
  17. MeshBaker插件 使用套路
  18. Swift调用协议扩展导致崩溃的解决
  19. 算法图解(递归调用栈)
  20. 计算机一级网络题连接网络,计算机一级MSOffice模拟试题及答案

热门文章

  1. 企业信息安全————3、如何建立企业安全框架
  2. 社会经济学中的因果分析思想初探
  3. hdu1879继续畅通工程(最小生成树kru算法)
  4. 《人月神话》(The Mythical Man-Month)看清问题的本质:如果我们想解决问题,就必须试图先去理解它...
  5. android源码分卷压缩和解压
  6. 三维空间点的直线方程拟合
  7. dbm与mysql_关于dBm与功率转换
  8. 【数字IC设计/FPGA】推挽输出和开漏输出
  9. diamond源码解析
  10. KGB知识图谱通过知识校验完成企业的风险审核