首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何记录试图进行sql注入的人

如何记录试图进行sql注入的人
EN

Stack Overflow用户
提问于 2012-04-30 12:33:09
回答 3查看 1.2K关注 0票数 10

这里有很多方法可以保护您的代码免受SQL注入攻击。但是我需要的是如何记录sql注入攻击,这样我们就可以将他(攻击者-用户)添加到黑名单用户数据库中。

这里我需要的是一种函数,如果有sql注入,它将返回true。

代码语言:javascript
复制
<?php
if(isset($_POST['username'])){
// need a function here which will return true if there's
// a sql injection else false
}
?>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-30 12:46:42

您可以使用PHP-IDS检测安全攻击(不仅仅是SQL注入)并添加自定义行为。在我的例子中,我在每个请求开始时运行PHP。如果检测到问题,我将登录到数据库,向用户返回一个泛型错误消息,并生成die()。

但是请注意,PHP不会检测到所有的SQL注入问题。不可能自动这么做。您仍然需要正确地处理查询。

票数 6
EN

Stack Overflow用户

发布于 2012-04-30 12:44:27

编辑:这个答案是在问题被显著改变之前做出的。虽然它仍然有效,但已不再涉及“任择议定书”的具体情况。

SQL注入是最容易补救的web应用程序漏洞之一。识别潜在攻击、记录攻击以及维护和管理具有拒绝使用功能的用户黑名单的问题空间是一个更复杂的编程练习。

学习正确地使用parameterised queries,而SQL并不是您需要考虑的问题。在PHP中,您可以使用mysqliPDO库来实现这一点。这里有大量的问题可以解决这个问题,还有更多的教程,你可以通过谷歌搜索“参数化查询”或“准备好的语句”。

票数 3
EN

Stack Overflow用户

发布于 2012-04-30 12:51:17

不要试图为像这样严重的问题自己设计一个解决方案。可能会回来咬你在you_know_where。

相反,尝试从服务器上查看查询的类型,并请求用户在此基础上作出决定。(为了得到reqs)对于POST请求,正如https://stackoverflow.com/a/10383937/561269所说,您可以使用它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10383779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档