我的要求如下:
我从我的aspx页面调用一个函数,它返回HTML(来自Google的身份验证表单)。我需要将此HTML传递到另一个页面并在该页面中显示此表单。
clsTest c = new clsTest("31865d34927072.apps.googleusercontent.com",
"code", "offline", "http://abc.comAccount/Login.aspx",
"https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile");
var k = c.GetAccessDetails().ToString();
Response.Redirect("authPage.aspx?html=" + k);
我正在使用Response.redirect并将其作为查询字符串传递,该字符串无效。有什么建议吗?
答案 0 :(得分:0)
为什么将它放在Session对象中,然后在加载新页面时获取它。
HttpContext.Current.Session["something for page xyz"] = "some stuff";
然后在下一页
String s = HttpContext.Current.Session["something for page xyz"];
提示:在网址上传递除简单文字以外的任何内容都不是一个好主意。
答案 1 :(得分:0)
你需要提供更多信息什么不起作用但停止XSS和CSRF攻击我建议使用session会比查询字符串更好 你可以像这样使用你的会议
Session ["Authenticate"] = c.GetAccessDetails().ToString();
if (Session ["Authenticate"] != null )
{
Response.Redirect("authPage.aspx");
}
并在您的其他页面中访问会话,如
string test = Session ["Authenticate"].Tostring();
这将使任何人更难以进行XSS或CSRF攻击 并且您可以使用会话直到会话存在