3

我们正在考虑创建一个程序,该程序将 POST 请求发送到服务器端程序以进行某些处理。我们想考虑某种形式的验证,以确保 POST 请求不是试图淹没我们的系统或其他东西的随机垃圾邮件发送者。我对这些东西不太了解,但我在想客户端可能会发送一个 date-num 和一个“加密”的 date-num(没有安全加密,只是使用一些特殊的算法)。然后,服务器将加密 date-num 并解密客户端加密的 date-num。如果加密的 date-nums 或解密的 date-nums 不匹配,显然这不是来自我们客户端的请求,因此服务器不会对请求采取行动。

正如我所说,我对此知之甚少。我会以正确的方式去做吗?有没有更好的办法?如果这是一个好的方法,我可以去哪里寻找“加密”算法?(我发现的大多数算法都是用于安全加密的,只能在同一台机器上解密。我不太关心安全性——我只是在寻找验证)。

非常感谢您的帮助。

PS我不确定这是否是重复的,因为我真的不知道要搜索什么。我找不到有关此的任何其他问题,但这并不意味着什么。

编辑:为了澄清,服务器代码应该尽可能地“插入”——例如,如果它可以使用直接的 PHP 或 ASP.NET 来完成,而不是乱搞服务器配置,那会更好。在客户端也一样。请记住,这不一定是安全的,我们只是试图阻止垃圾邮件发送者发布一百万次随机数据。

4

3 回答 3

1

您可以使用 ssl 和客户端证书,并让网络服务器透明地处理它。这样,服务器和客户端都可以(或多或少)确定他们正在与谁交谈。
您的网络服务器将是什么?IIS,阿帕奇,...?
如果是 apache,请查看httpd 2.2 docs, Client Authentication and Access Control
如果是 IIS,请参阅在 IIS 6.0 (IIS 6.0) 中启用客户端证书

于 2009-08-19T14:09:05.133 回答
1

尝试使用加密随机数

  1. 在启动 POST 的页面上,会生成一个随机数并将其存储在数据库中,其中包含请求的 IP 地址和到期时间(15-30 分钟?)。
  2. 相同的随机数存储为 POST 变量。
  3. 在 POST 上,为了进行处理,必须在到期时间之前成功查找匹配 nonce 和 IP 地址。

结合蜜罐验证码,它应该可以很好地防止机器人对您的系统造成压力。

于 2009-08-19T14:16:19.320 回答
0

此类问题的常用方法是包含HMAC。它允许通过使用密钥进行完整性检查和发件人身份验证。

于 2009-08-19T14:19:38.957 回答