【发布时间】:2011-10-12 18:14:26
【问题描述】:
【问题讨论】:
-
“人类不可读”、“保护”和“使安全”都是不同的。您要防范什么威胁?
-
这是一个坏主意,因为它会使您的页面更难被搜索引擎索引,同时不提供真正的“安全性”
标签: security
【问题讨论】:
标签: security
您可以使用诸如 http://www.mydomain.com/jsp/get_article.jsp?hash=[base32 MD-5 hash value] 或类似的哈希值。然后你在服务器上有一个表散列 - >文章(因为散列足够独特,你不必关心不同文章的散列之间的“冲突”)。当然,您仍然必须在客户端拥有哈希,因此您要么必须在那里计算它,要么只需在页面中提供它。
散列是文章本身的散列,因此对于文章来说始终是唯一的,并且在不知道实际文章的情况下无法猜测。标题太容易猜了。
无论您怎么看,都不会因此获得完美的安全性,但是您可以从试图猜测 URL 的人那里获得安全性,而无需请求它之前的页面。换句话说,这是一项没有太多收获的大量工作。但是当您尝试实现 DRM 方案时,它可能是您能得到的最好的方案......
【讨论】:
不确定您所说的“不可读”是什么意思。我认为简短的回答是:这是不可能的。 URL 必须对浏览器可见,否则它将如何请求资源?您的问题听起来有点像是在说:“我怎样才能让人们在不告诉他们我的电话号码的情况下给我打电话?”
我想你可以加密你的 URL。但为什么呢?
如果 URL 中存在您不希望用户看到的信息,那么……不要将它放在 URL 中。就像,如果您有一个客户帮助系统,该系统可以引导用户对系统的“白痴”部分给出不可能的答案,我不会将网址设为“http://example.com/help/moron.jsp?screen =17”。称之为非描述性的东西。更严重的是,您当然不应该将客户的密码或其他机密信息作为 URL 的一部分。将这类东西保存在通过“安全”数据访问的服务器端数据中,例如用户 ID。
【讨论】: