1

我有一个必须公开的 asp.net mvc 操作。URL 类似于:

http://www.abc.com/controller/action?q="abcdef"

"abcdef"部分是我将提供给应该访问该 URL 的用户的内容,但这不会阻止其他人使用相同的 URL,那么是否有任何额外的安全层可以验证谁在使用该 URL?是否有任何最佳实践来添加人们无法轻松使用或确定的额外信息,除非他们被明确告知会使公共 URL 更难使用?

4

2 回答 2

0

一种选择是生成一个一次性密钥,如 GUID,它仅在 5 分钟内有效。将这些存储在您的数据库中,当有人想使用密钥访问 URL 时,请验证它是否在不到 5 分钟前。您还可以验证 IP 地址和/或用户代理,但这不能保证(GUID 也不是,但这是一个好的开始)。您可能还想使用 HTTPS 来避免人们嗅探您的密钥。

于 2013-10-16T04:52:37.647 回答
0
  1. 基本认证
  2. 摘要式身份验证
  3. 表单认证
  4. Windows 身份验证
  5. OpenID 身份验证

将帮助您实现您想要的。它们作为 HTTP 协议的一部分开发,为您提供选择。不要自己做自行车。问题是广泛的。基本身份验证可能是帮助您实现所需目标的最简单、最快速的方法。并且请您下次设置标签以了解您使用的是哪种技术和哪种服务器。

于 2013-11-03T17:51:48.320 回答