我有一个保留用户名列表,我希望在我有机会对其进行身份验证之前阻止新用户使用。验证将通过在网站上放置密码来完成,然后我会检查网站上的代码并允许它们继续。我已经编写了验证代码的方法,但是......
首先:阅读functions_user.php我无法弄清楚上次用户名检查在哪里查看我的用户列表。我一直在整个文件,我甚至无法看到他们在数据库中验证用户名的位置。 (这比第二部分更重要)
第二:我需要在某处添加身份验证密钥(我可能只是将其写入平面文件,因为列表中只有大约150个名称) - 有没有人对此有一些建议?
我想我可以忽略方法user_add
并在它到达之前进行检查 - 我会尝试一下。
实际上,在考虑了一些之后,我认为我需要用密钥创建用户,如果有人尝试使用其中一个用户登录,我会给他们验证密钥并从那里开始。
答案 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;
}