Php &引用;使用PDO“;在MySQL表中。这是黑客吗?

Php &引用;使用PDO“;在MySQL表中。这是黑客吗?,php,mysql,codeigniter,sql-injection,Php,Mysql,Codeigniter,Sql Injection,好吧,听起来可能很可笑,但事实就是这样: 我已经建立了一个网站,在CodeIgniter上全面工作 该站点显然是数据库驱动的,其中包含用户表(以及更多) 今天,我登录了,在“姓名”的地方。。。我看到的不是用户名,而是“Use PDO”(我还检查了phpMyAdmin中的db表,并且特定字段似乎已更改:S) 我在想:“有人入侵了这个网站”。也许是一个糟糕的(虽然有教育意义)笑话 我说得对吗?(问这个我觉得有点傻,但不管怎样…) 如果是这样的话,我应该怎么做才能防止将来发生这样的事情 提示:我

好吧,听起来可能很可笑,但事实就是这样:

  • 我已经建立了一个网站,在CodeIgniter上全面工作
  • 该站点显然是数据库驱动的,其中包含用户表(以及更多)
  • 今天,我登录了,在“姓名”的地方。。。我看到的不是用户名,而是
    “Use PDO”
    (我还检查了phpMyAdmin中的db表,并且特定字段似乎已更改:S)
我在想:“有人入侵了这个网站”。也许是一个糟糕的(虽然有教育意义)笑话

我说得对吗?(问这个我觉得有点傻,但不管怎样…)

如果是这样的话,我应该怎么做才能防止将来发生这样的事情



提示:我所有的数据库访问都是使用CodeIgniter的db函数完成的,所以我想所有的内容都应该正确转义。有什么想法吗?

在我看来,至少有人试图注入代码

use PDO; $db = new PDO(); $db->save();
或者类似的东西,但最终将数据保存在用户表中。我想他一定是试图在注册页面中插入代码(如果有的话)。如果不了解数据库中的更改,就不能说更多


希望这能有所帮助。

多亏了@raina77ow,问题已经解决

Db访问状态非常糟糕,解决方案(准显而易见)是开始使用准备好的语句和查询绑定



参考:

可能有人使用用户名注册
使用PDO
。hehe@JohnWoo如果有人不是我自己,已经用我在任何地方都使用过的用户名注册(Kameleon博士)……那么,如果不应该更新的数据被更新了,那怎么可能是黑客以外的呢?)至于“如何预防”部分:您确实明白,如果没有任何附加信息,就无法立即回答。)顺便说一句,仅仅使用CodeIgniter并不能阻止注射;重要的是使用的方式。例如,您是否使用查询绑定,或者使用
$db->escape
进行转义查询?让我们知道,这里肯定有注册和登录页面。问题是,我如何测试一个人可以在db中注入什么(以及如何注入?)?(我对SQL注入几乎一无所知…:S)(这两个页面的确切链接已作为对原始帖子的评论发布)以下是我们给大家的评论,仅供将来参考:请不要使用
mysql.*
函数编写新代码。它们不再得到维护,社区已经开始。看到了吗?相反,你应该学习并使用或。如果你不能决定哪一个,我会帮你的。如果您选择PDO。也看到