隐藏URL中的查询字符串

时间:2011-12-19 10:20:22

标签: c# asp.net .net url query-string

是否可以从URL隐藏查询字符串

我计划去参加会话变量..但它只能在有限的时间内使用。

我的网址和查询字符串是

Default.aspx的A = B&安培; C = d

我需要 Default.aspx

我尝试过加密和解密..但是可以在地址栏中更改值。

6 个答案:

答案 0 :(得分:1)

在表单上使用POST操作而不是GET。仍然可以更改值,它们只是在您的URI上不可见

答案 1 :(得分:1)

如果会话变量对您不利,请尝试在cookie中存储值。

答案 2 :(得分:1)

了Ganesh,

您必须了解网址是什么,

网址是一种允许访问互联网资源的地址。

所以我们不应该隐藏URL中的任何内容,因为它就像是在说某人“去伦敦约翰街127号”并且你不希望他试图去126(因为他不被允许) !

为什么要隐藏url参数?大多数情况下,因为您的用户必须具有访问资源的正确权限,因此您的解决方案将是:

  • 将用户ID存储在会话中,当用户尝试访问资源时检查他是否具有强制权限

  • 或者使您的产品ID不是整数(或者在数据库“ProductIDUrl”中添加一列),就像guid一样,所以没有人可以猜出产品ID。

答案 3 :(得分:1)

如果担心安全问题,那么security by obscurity不是最好的方法。除非您使用某种加密方式,否则通过POST发送数据并不能解决问题。

您可以轻松加密URL btw。建议不要使用Session,因为它会给服务器带来额外的负担。

Cookie可能会影响效果。

如果您只关心安全性,那么加密查询字符串是一种选择。

答案 4 :(得分:0)

我不使用.NET,但您可以使用POST而不是GET。

答案 5 :(得分:-1)

使用URL重写或URL路由来执行此操作....