如何限制我在 ajaxRequest.open 中使用的 php 文件以通过特定页面访问?
我想使用诸如会话之类的东西来防止远程表单发布,因为可以通过这种方式检查许多猜测的用户名密码。
我知道检查推荐人不是一个安全的想法。基于 IP 的自动阻止是否安全?
检查它是否是通过 Ajax 发布的,如果因为没有人可以通过 Ajax 远程发布而拒绝它,这是一个好主意吗?真的安全吗?
提前致谢
你把事情搞混了。AJAX 依赖于 HTTP 协议(例如:POST
、、GET
)来工作。所以使用 AJAX不会阻止人们伪造查询。有一个名为 的标头HTTP_X_REQUESTED_WITH
,但就像来自客户端的任何内容一样,它不应该被信任。
对远程 AJAX 发布的担忧更多地与称为跨站点远程伪造或 CSRF的利用有关。防止这种情况的一种方法是使用 CSRF 令牌(阅读 wiki 页面)。您(似乎)描述的问题是另一回事。
在处理登录时,我喜欢实现不同的失败阈值:
如果您尝试登录帐户并失败 X 次,您将收到验证码。这将防止人们使用机器人来暴力破解密码,而不会给(太多)合法用户带来不便。
如果您失败 X+Y 次,该帐户将被锁定 Z 时间。
如果看起来很多失败的登录来自您的 IP,它将被阻止。