我有一个PHP网站。在后端使用MySQL数据库.
让我简明扼要地说明一下情况。
网站上有一张用户登记表。表单是使用AJAX提交的。它有一个输入用户电子邮件id的字段。此字段的验证是电子邮件中的域名必须是“..edu”,如果输入带有其他域的电子邮件,则会引发错误。例如,anilpatil@msstate.edu是一个有效的电子邮件id,而anilpatil@yahoo.com是一个无效的电子邮件id。
在检查了代码之后,我知道这个验证是用PHP完成的,并且运行良好,显示了正确的错误消息,表单没有提交。
尽管我的数据库中包含了许多具有属于.com域或其他域的电子邮件ids的用户。这些用户也可以登录到系统。
此外,我试图禁用我的浏览器的javascript并输入无效的电子邮件id,然后它也工作得很好。用户无法注册。
我不明白这些用户是怎么注册的?我找不到这个问题的根本原因。有人能不能在这方面帮助我,告诉我这个问题的根本原因是什么?
谢谢。
P.S. :-不可能把所有的代码都放在这里。因为它太大了,文件太多了。它是框架的一部分。但是考虑到验证代码运行得非常好。我的主要意图是查明这一安全漏洞的根本原因。
发布于 2015-06-17 03:52:53
在不发布任何代码的情况下,我最好的猜测是,人们直接使用ajax文件注册自己,而ajax文件不包含验证。
如果您想让我验证,请张贴您的网站,我将尝试直接注册使用您的ajax文件。
https://stackoverflow.com/questions/30881626
复制相似问题