用户名之后的phpbb3可以接受注入代码

时间:2010-12-23 04:32:28

标签: php phpbb phpbb3

我有一个保留用户名列表,我希望在我有机会对其进行身份验证之前阻止新用户使用。验证将通过在网站上放置密码来完成,然后我会检查网站上的代码并允许它们继续。我已经编写了验证代码的方法,但是......

首先:阅读functions_user.php我无法弄清楚上次用户名检查在哪里查看我的用户列表。我一直在整个文件,我甚至无法看到他们在数据库中验证用户名的位置。 (这比第二部分更重要)

第二:我需要在某处添加身份验证密钥(我可能只是将其写入平面文件,因为列表中只有大约150个名称) - 有没有人对此有一些建议?

更新

我想我可以忽略方法user_add并在它到达之前进行检查 - 我会尝试一下。

实际上,在考虑了一些之后,我认为我需要用密钥创建用户,如果有人尝试使用其中一个用户登录,我会给他们验证密钥并从那里开始。

1 个答案:

答案 0 :(得分:1)

错误,这真的很困惑。

使用黑名单防止代码注入浪费了大量时间和计算费用。解决问题的正确方法是escape the content according to the medium where it being written

如果您使用的是您不太信任的现成代码,请尝试类似......

function is_nasty($str)
{
   if (htmlentities($str)!==$str) {
       return true;
   }
   if (mysql_escape_string($str)!==$str) {
       return true;
   }
   // any more checks you want to run....
   return false;
}