【问题标题】:changing url for security reason asp.net出于安全原因更改 url asp.net
【发布时间】:2014-04-29 08:26:25
【问题描述】:

我正在编写一个用于内部自动化的 asp.net Web 应用程序。所以,我没有考虑 SEO 或用户友好的 URL。只是我想更改隐藏路径和文件名以及查询字符串的 URL。例如,我希望向用户显示此 URL“http://test.com/Admin/Create.aspx?id=345&name=pin”以显示其他无法理解的内容,例如加密 URL“http://test.com/enc=nidfvegvbervmxvpazxczxcwefve”,或者以“http://test.com/”等相同方式显示所有格式的所有 URL。

我阅读了一些关于 URL 重写和 URL 路由的文章。但是,我认为他们的方法是相反的。我的意思是当用户写“http://test.com/products/book”时,这些方法可以假定它为“http://test.com/products.aspx?type=book”,但我希望用户永远看不到真实的 URL。

有什么想法吗?

【问题讨论】:

    标签: asp.net webforms


    【解决方案1】:

    我认为您可能正在寻找 Server.Transfer - 看看:

    http://msdn.microsoft.com/en-us/library/540y83hx.aspx

    【讨论】:

    • 我找不到 Response.Redirect & Server.Transfer 与我的要求之间的任何关系!!
    • 要实现这一点,您将编写一个名为“RedirectMe.aspx”的程序,并在该程序中获取“enc”查询参数,在数据库中查找该唯一值应该去的位置(如“Create.aspx?id=345&name=pin”)然后发出Server.Transfer("Create.aspx?id=345&name=pin", False)(尽管根据您的需要,您可能需要将第二个参数设置为“True”)。这种方法中的哪些内容可能无法满足您所述的要求?
    • 好的,我明白了,但这里有一个真正的问题;当我使用 'Server.Transfer("Create.aspx?id=345&name=pin")' 转到第二页时,我无法获取查询字符串。事实上,“Page.Request”给了我上一页的请求。转移后我需要在第二页正常工作。
    • 第二个参数是否设置为True?这应该为您提供原始查询字符串。至于Page.Request,你在Page.Request中具体有什么你不能访问的?
    • 是的,我用两种方式都测试过(真,假);我无法收到第二页的请求。
    【解决方案2】:

    【讨论】:

    • 请不要发布仅链接的答案
    猜你喜欢
    • 1970-01-01
    • 2013-07-12
    • 2013-06-30
    • 2016-02-07
    • 2019-11-27
    • 1970-01-01
    • 2010-11-26
    • 2014-03-31
    • 1970-01-01
    相关资源
    最近更新 更多