PHP防范XSS攻击

定义

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

攻击者在web页面中插入一些恶意的javascriptHTML代码,当用户浏览该页面的时候,嵌入到web页面中的javascript/HTML代码会被执行,从而达到攻击目的。

一个简单的例子就是网页中的评论功能,用户编写一段javascript代码(见下面)提交到服务器,如果不做过滤就直接显示出来的话,就会导致用户一打开页面就会有弹窗提示“你被攻击了”。

<script>window.alert("你被攻击了")</script>

防范手段

对用户数据进行过滤

这种攻击方式再次印证了“永远不要相信用户提交过来的数据”的真理,所以要防范这种攻击,就要对数据进行过滤,在用户提交时过滤,或者在输出页面时过滤都可以。

在PHP中可以使用htmlspecialcharshtmlentities函数,这两个函数都可以把特殊字符转换为HTML实体,区别在于,前者只会转换一部分字符,后者会转换全部特殊字符。

cookie设置为http only

较多XSS攻击注入的javascript脚本代码都是为了获取用户的cookie信息,把cookie设置为http only,可以禁止javascript读取。因此这种方法一定程度上也能防范XSS攻击。

具体在PHP中是将setcookie函数的httponly参数设置为true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值