0

我有一个基本登录(index.asp 向 login.asp 发送一个表单以验证凭据),我最近发现我可以从另一个域向我的 login.asp 进行 POST(带有经典 ASP 的 XMLHTTP)。

我想避免这种操作,我的问题是:如果我在我的网站上安装 SSL 证书,我可以控制哪些域可以对我的域进行 POST 吗?

我可以用 .NET 表单解决我的问题吗?

Tks

4

1 回答 1

0

SSL 不会改变谁可以将数据发布到您的表单(毕竟,您事先不知道将数据发布到您的 Web 服务器的计算机的身份,是吗?)

防止这种情况的典型方法是针对每个请求index.asp

  1. 在服务器端生成一个随机整数,并在服务器端以 Application 状态存储。
  2. 将此整数写入hidden登录表单上的表单字段
  3. login.asp在没有为用户会话正确设置此隐藏字段的情况下拒绝任何请求

现在,这不会阻止远程主机以编程方式访问login.asp,但会强制他们index.asp每次都通过,就好像他们是真正的用户一样。

如果您担心远程主机可能会尝试暴力破解您的登录系统,您应该查看login.asp从给定主机访问的速率限制,或者在 5 次登录尝试失败后超时用户 ID。

于 2013-05-17T07:27:26.297 回答