【问题标题】:Is it Possible to Set the Cookie of Different Domain during Response.Redirect?Response.Redirect期间是否可以设置不同域的cookie?
【发布时间】:2012-07-31 07:38:46
【问题描述】:

假设我有两个域(A,B)。域 A 页面正在将他的页面重定向到域 B 页面。但是在重定向域A页面之前需要设置一个cookie。我已在域 A 页面上尝试过此代码,但无法正常工作,

var cookie = new HttpCookie("ID", id);
Response.Cookies.Add(cookie);
Response.Redirect("Domain B page");

更新:据我了解,ID cookie 保存在域 A 而不是域 B 中。

【问题讨论】:

  • 我认为是您的浏览器禁止这样做以防止恶意网站执行此类操作。我可能错了,但我认为就是这样:/
  • @Shai,你怎么能说这可能是重复的?我说的是远程域。
  • 我觉得这样设置cookie有问题,你得手动测试一下,见this
  • @user960567,当响应被重定向时,当前线程被中止,并且新的 302/301 状态被发送到客户端以对指定的目的地发出新的请求,所以设置 cookie 的线程永远不会得到已完成,所以不要在客户端使用 javascript 来重定向 Response.Redirect,例如 window.location.href='Domain B URL'

标签: c# asp.net asp.net-mvc


【解决方案1】:

这样做的模式是在域B上有一个页面,可以根据您发送的请求参数设置cookie,然后重定向到“域B页面”,这也是一个参数(如果您需要灵活性)。

问题是你需要找到一种方法来确保域 B 中的这个页面不能被攻击者用来编写伪造的 cookie。

【讨论】:

    猜你喜欢
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2015-11-28
    • 2011-09-12
    • 2011-09-06
    • 2019-07-20
    相关资源
    最近更新 更多