ASP.NET MVC - 加密URL

时间:2012-06-14 16:32:49

标签: asp.net asp.net-mvc-3 encryption

我正在使用ASP.NET MVC 3开发一个Web站点,现在我需要加密客户URL的ID。例如:

http://mysite.com/person?id=42

这样的事情:

http://mysite.com/person?id=Dfjhasdfh33kASDG868365çkhg54sdSDFD

需要安全。 当我说安全时,任何人都难以发现正确的ID

有没有图书馆可以做到这一点?

许多安全的网络支付之一就像paypal一样使用这种方法: https://paypal.com/br/webscr?info=CNS9tFsVM_tv4c18gHgZ3OMH2zblN7GWDQoyamVF3mzNh7vGDuhiKU3

2 个答案:

答案 0 :(得分:1)

一种选择是使用随机生成的字符串或唯一标识符(GUID)使您的PK长。

答案 1 :(得分:1)

如果您真的想要加密查询参数,那么它非常简单,只需使用.Net提供的任何加密器,然后使用属性或httpmodule来解密该参数。

最重要的是始终验证请求。如果您可以使用防伪令牌进行POST,请执行此操作。然后,如果该用户有权访问受保护资源,请始终检查用户凭据。

这一点都不难,但你必须缓慢地处理它并处理你能想到的每一个场景。使用白名单方法:只允许那些满足某些条件的人。