是否可以从URL隐藏查询字符串
我计划去参加会话变量..但它只能在有限的时间内使用。
我的网址和查询字符串是
Default.aspx的A = B&安培; C = d
我需要 Default.aspx
我尝试过加密和解密..但是可以在地址栏中更改值。
答案 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路由来执行此操作....