6

我正在重定向到我的 asp.net 应用程序中的一个页面,使用该页面在 url 中传递一个参数。

 HttpApplication app = (HttpApplication) sender;
 HttpResponse response = app.Context.Response;
 app.Response.Redirect("~/auth/SignOn.aspx?capath=" + capath);

有没有办法发送执行或直接到该页面并传递参数而不在 url 中显示它?谢谢。

4

3 回答 3

4

url 参数非常不安全。这是一个简单的字符串,每个人都可以看到。您应该对其进行加密或使用会话。如果它是您在 url 中传递的 id,则可以使用 uniqueidentifier 作为 id。

我认为最好和最简单的方法是通过 Sessions 发送它。

于 2013-05-28T07:20:35.047 回答
3

不能隐藏在查询字符串中发送的值,但如果您希望它们不可读,则可以加密这些值。或者您将寻找其他选项来导航到下一页,而不是简单的重定向

如何:在 ASP.NET 网页之间传递值

于 2013-05-28T07:17:45.900 回答
0

如果您的网站分布在多台计算机上,您应该使用 cookie 以避免会话丢失

写饼干

HttpCookie testCookie = new HttpCookie("capath");
    testCookie.Value = HttpUtility.UrlEncode(capath);
    Response.Cookies.Add(testCookie);

读取 cookie

if (Request.Cookies["capath"] != null)
    {
        HttpCookie getCookie = Request.Cookies.Get("capath");
}
于 2013-05-28T07:26:30.027 回答