隐藏 URL 中的查询字符串

发布于 2024-12-21 19:11:57 字数 208 浏览 3 评论 0原文

是否可以隐藏 URL 中的查询字符串?

我计划使用会话变量..但它仅在有限的时间内有效。

我的 URL 和查询字符串是

Default.aspx?a=b&c=D

我需要作为 Default.aspx

我尝试了加密和解密..但值可以是地址栏已更改。

Is there possible to Hide Query String from URL??

I planned to go for session Variable.. but it works only for a limited time.

my URL and Query strings are

Default.aspx?a=b&c=D

I need as Default.aspx

I tried for encryption and Decryption.. but the values can be changed in address bar.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

蒗幽 2024-12-28 19:11:57

如果会话变量不适合您,请尝试将值存储在 cookie 中。

If session variables are not good for you, try storing values in cookies.

画尸师 2024-12-28 19:11:57

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

Use POST action on your Form rather than GET. Values will still be able to be changed though, they just won't be visible on your URI

别理我 2024-12-28 19:11:57

Ganesh,

您必须了解 URL 是什么,

URL 是一个可以访问互联网上资源的地址。

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

为什么要隐藏 url 参数?大多数时候,因为您的用户必须拥有正确的权限才能访问资源,所以这里您的解决方案是:

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

  • 或者使您的产品ID不是整数(或者在您的产品ID中添加一列)数据库“ProductIDUrl”)类似一个 guid ,这样就没有人能猜到产品 id。

Ganesh,

You have to understand what a URL is,

A URL is an address that enable access to a resource on the internet.

So we shouldn't hide anything in the URL, because it's like saying someone "Go to the 127th John Street, London" and you don't want him to try to go to the 126 (because he's not allowed to)!

Why would you want to hide an url parameter ? Most of the time because your user must have the correct privilege to access a resource, so here your solution would be :

  • store the user id in the session, and when a user try to access to the ressource check that he's got the mandatory privilege

  • Or make your product ID something else than integer (or add a column in your DB "ProductIDUrl") like a guid , so no one can guess the product id.

只怪假的太真实 2024-12-28 19:11:57

如果您关心安全性,那么模糊安全性并不是最好的方法。通过 POST 发送数据也不能解决问题,除非您使用某种加密。

顺便说一句,您也可以轻松加密 URL。不建议使用会话,因为它会给服务器带来额外的负载。

Cookie 可能会影响性能。

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

If security is your concern then security by obscurity is not the best way. Sending the data by POST doesn't solve the problem either unless you use some kind of encryption.

You could just as easily encrypt the URL btw. Using the Session is not recommended since it puts extra load on the server.

Cookies can potentially affect performance.

If you are only concerned about security then encrypting the Query string is an option.

染年凉城似染瑾 2024-12-28 19:11:57

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

I don't use .NET, but you could use POST instead GET.

戈亓 2024-12-28 19:11:57

使用 URL 重写或 URL 路由来做到这一点......

Use URL rewriting or URL Routing to do this....

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文