除了sql注入之外的其他什么?

时间:2011-05-08 01:52:15

标签: php mysql sql

我做了很多研究,搜索时间越长,找不到更快乐的答案。

我已经编写了自己的php mvc web框架,我担心SQL Injection是我唯一需要担心的漏洞。

我使用自己的数据库抽象方法并支持不同的数据库,我的语句是sql注入证明。所以我的问题很简单,在保护我的数据库方面还有什么我需要担心的。

如果有,请提供详细信息或文章,以便我可以获得更多信息,如果可能的话,还提供解决方案。

谢谢。易卜拉欣

4 个答案:

答案 0 :(得分:2)

  • 如果您允许上传,是否限制上传文件的大小或金额?

  • 除了保护自己免受SQL注入外,您是否明确限制了数据的长度?

  • 您是否限制数据插入数据库的次数?

  • SQL 注入外,您是否受到 JavaScript 注入的保护?如果我将<script>malicious code</script>存储在您的数据库中,您是否确定当有人通过浏览器查看我的文本时,代码将不会被执行?

答案 1 :(得分:2)

除了SQL注入之外还有很多值得担心的问题,请看一下这里的列表:

https://www.owasp.org/index.php/Category:Vulnerability

一些比较常见的是:

  • 会话劫持
  • 能够通过id
  • 猜测(和访问)其他记录
  • 未加密的公共记录ID
  • 能够上传可执行文件
  • 能够访问其他人的文件
  • 身份验证/授权漏洞
  • 会话固定

该列表一直在继续,但请看一下PHP的安全文档用户备注,其中有一些非常好的评论:

http://www.php.net/manual/en/security.php

答案 2 :(得分:0)

Datawise,将所有传入数据和实体/特殊字转义为所有传出数据。简单的理念,确保您只有在进入和离开后才能对数据进行操作。

考虑会话劫持,cookie编辑黑客,形式篡改(不要使用选择和隐藏表单的直接值。为它们分配一个类似于数组中元素的整数的键,并使用该键获取值元素。)

答案 3 :(得分:-2)

如果你是usint .net只是做一个快速的谷歌搜索。您可以通过修改Web配置来阻止大多数攻击。

<authentication mode="Forms">
  <forms protection="All" loginUrl="~/Account/Login.aspx" timeout="30" slidingExpiration="true" />
</authentication>

就其他事情而言,是的,您可能需要担心一些事情。例如人们在他们的输入中传递<script>alert('boo');</script>。因此,在输出数据库值时,您可能会使客户面临安全威胁。假设警报('boo')更邪恶。

tehre是一个全面的列表https://www.owasp.org/index.php/Main_Page