php常见的攻击方式

1、SQL注入

/* sql注入方式
* 1、数字注入 eg: select * from id = [1 or 1] -----通过intval()函数将id转为数字
* eg: select * from id = [1 union select ....]
* 2、分号注入 eg: select * from test1 where id=[1;# ] and name="aa"
* eg: select * from test1 where id=[1; insert/select/update语句]
* 3、引号注入:eg:用户登录:SELECT * FROM users WHERE user='john' AND password=' [' OR ''=']' //使用转义处理
*
* */
解决办法:mysql_real_escape_string()函数转义,inteval()函数格式化数字,采用mysqli或者PDO预处理机制
现在的主流框架都采用PDO预处理,或者参数绑定;


2、XSS攻击
XSS(跨站点脚本攻击)是一种攻击,由用户输入一些数据到你的网站,其中包括客户端脚本(通常JavaScript)。如果你没有过滤就输出数据到另一个web页面,这个脚本将被执行。接收用户提交的文本内容,攻击者可能借此盗取用户信息,登录cookie等发动攻击。
解决方法:php一般使用函数htmlspecialchars()、htmlentities()、strip_tags()、addslashes()转移特殊字符的方式对用户输入内容进行处理。
     设置
session.cookie_httponly 为1来禁止javascript获取cookie信息

3、CSRF跨站点请求伪造(Cross—Site Request Forgery)
解决方式:1、验证 HTTP Referer 字段;2、在请求地址中添加 token 并验证;3、在 HTTP 头中自定义属性并验证。



转载于:https://www.cnblogs.com/gongxulei/p/10033648.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值