保护应用程序URL

时间:2011-07-25 16:34:21

标签: security

如何保护我的应用程序生成的网址?

例如

http://www.mydomain.com/jsp/get_article.jsp?id=1

如何让这些网址对人类不可读?

2 个答案:

答案 0 :(得分:1)

您可以使用哈希,例如http://www.mydomain.com/jsp/get_article.jsp?hash=[base32 MD-5哈希值]等。然后你有一个表哈希 - >服务器上的文章(因为哈希是足够独特的,你不必关心不同文章的哈希之间的“冲突”)。当然,您仍然需要在客户端使用哈希值,因此您必须在那里进行计算,或者您只需在页面中进行计算。

散列将是文章本身的散列,因此它在任何时候都是唯一的文章,并且在不知道实际文章的情况下无法猜到。标题太容易猜到了。

无论你如何看待它,你都无法从中获得完美的安全性,但是你可以从试图猜测URL的人那里获得安全性,而无需在它之前请求页面。换句话说,没有太多收益就是很多工作。但是当你试图实现DRM计划时,它可能是你能得到的最好的......

答案 1 :(得分:0)

不确定“不可读”是什么意思。我认为简短的回答是:它无法完成。 URL必须对浏览器可见或者它将如何请求资源?你的问题听起来有点像说:“我怎么能让人们给我打电话而不告诉他们我的电话号码?”

我想,您可以加密您的网址。但为什么呢?

如果网址中有您不希望用户看到的信息,则...不要将其放在网址中。就像,如果你有一个客户帮助系统,指导那些给你系统的“白痴”部分提供不可能答案的用户,我不会把网址设为“http://example.com/help/moron.jsp?screen = 17" 。称之为非描述性的东西。更严重的是,您当然不应该将客户的密码或其他机密信息作为URL的一部分。将这类内容保存在服务器端的数据中,通过“安全”数据访问,如用户ID。