【PHP、运维】常见的php安全攻击

本文介绍了SQL注入、XSS、CSRF和代码注入等Web安全问题,重点讲解了如何通过mysql_real_escape_string、预处理语句、htmlentities函数、PHP配置和laravel中的_token等方法来有效防止这些攻击。
摘要由CSDN通过智能技术生成

SQL注入:用户利用在表单字段输入SQL语句的方式来影响正常的SQL执行。
防止

  • 使用mysql_real_escape_string()过滤数据

  • 手动检查每一数据是否为正确的数据类型

  • 使用预处理语句并绑定变量

  • 参数化SQL:是指在设计与数据库链接并访问数据时,在需要填入数值或数据的地方,使用参数 (Parameter) 来给值,用@或?来表示参数。

XSS攻击 :
跨站点脚本攻击,由用户输入一些数据到你的网站,其中包括客户端脚本(通常JavaScript)。如果你没有过滤就输出数据到另一个web页面,这个脚本将被执行。

防止
为了防止XSS攻击,使用PHP的htmlentities()函数过滤再输出到浏览器。

CSRF
跨站点请求伪造,是指一个页面发出的请求,看起来就像是网站的信任用户,但是是伪造的

防止
一般来说,确保用户来自你的表单,并且匹配每一个你发送出去的表单。有两点一定要记住:

对用户会话采用适当的安全措施,例如:给每一个会话更新id和用户使用SSL。

生成另一个一次性的令牌并将其嵌入表单,保存在会话中(一个会话变量),在提交时检查它。 如laravel中的 _token

代码注入
代码注入是利用计算机漏洞通过处理无效数据造成的。问题出在,当你不小心执行任意代码,通常通过文件包含。写得很糟糕的代码可以允许一个远程文件包含并执行。如许多PHP函数,如require可以包含URL或文件名。

防止代码注入

过滤用户输入,在php.ini中设置禁用allow_url_fopen和allow_url_include。这将禁用require/include/fopen的远程文件

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值