整理PHP安全性的攻击

发布时间:2023年12月25日

一、防止sql的注入

前端传给后端的字段,在写入数据的时候需要一个数据类型 判断、预处理,

避免出现非正常数据,干扰、或者使数据库存在漏洞,

可以在mysql_real_escape_string() 这个过滤数据,手动检查每一个数据是否为正确数据类型

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

二、XSS攻击:经常在跨站点脚本攻击,一般客户输入的一些数据到网站,其中包括客户端脚本JavaScript。假设没有进行过滤,那就会输出数据到另一个web页面 ,那这个脚本就会被执行

可以使用PHP的htmlentities() 函数,过滤后再输出到浏览器中

三、CSRF:跨站点请求伪造,是指一个页面发出的请求,看起来就像是网站的信任用户,但是是伪造的
防止:一般来说,确保用户来自你的表单,并且匹配每一个你发送出去的表单。有两点一定要记住:

对用户会话采用适当的安全措施,例如:给每一个会话更新id和用户使用SSL。
生成另一个一次性的令牌并将其嵌入表单,保存在会话中(一个会话变量),在提交时检查它。 如laravel中的 _token
代码注入:代码注入是利用计算机漏洞通过处理无效数据造成的。问题出在,当你不小心执行任意代码,通常通过文件包含。写得很糟糕的代码可以允许一个远程文件包含并执行。如许多PHP函数,如require可以包含URL或文件名。
防止代码注入
过滤用户输入
在php.ini中设置禁用allow_url_fopen和allow_url_include。这将禁用require/include/fopen的远程文件

文章来源:https://blog.csdn.net/weixin_40428902/article/details/135192469
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。