最近在做web开发就想到了安全性问题在此就自己总结了下有不足之处可以批评指导
【1】sql注入 sql注入是一种恶意的攻击,用户利用在表单字段输入 sql的方式来影响正常的sql执行。还有一种是通过system() 和 exec() 命令注入他具有相同的sql注入机制 但是只针对shell命令
解决方案:
1.对于用户的输入要检查 验证 过滤,绝对不能使用户输入的内容直接拼接在sql中
2.采用预编译形式【pdo】sql注入只对准备过程有破坏作用而pdo已经准备好了了执行阶段只是把输入串作为数据进行处理不在对sql进行解析
【2】xss又叫css跨站脚本攻击指的是恶意攻击者往web页面里面插入恶意脚本代码,而程序对于用户输入的内容没有过滤,当用户浏览时嵌入的脚本代码被执行,达到了攻击用户的目的。
产生的危害有:1.窃取用户cookie 2.网络钓鱼 3.盗取各类用户账号4劫持用户浏览器 5.进行网页挂马
解决方法:
1.htmlspecialchars将特殊代码转为实体 防止浏览器将html解析
2.addslashes()双引号前加反斜杠
【3】csrf跨站请求伪造 是一种利用用户身份对网站进行某种作用的漏洞,用户自己没有察觉到,但是操作请求是用户身份发出的在登录A网站后访问不受信任的网站b
危害在用户的不知道的情况下进行某种操作:修改用户资料 进行银行转账等
csrf为什么能够成功原因在于同一个浏览器时共享cookie的也就是通过权限认证和验证时无法预防的
预防的方法很简单就是确保数据的从本站点发出的
解决方法:
1.页面生成token 来进行验证
web开发安全问题
最新推荐文章于 2024-07-27 15:28:16 发布