gpt4 book ai didi

php - 是否可以为非您拥有的站点/服务器设置 cookie?

转载 作者:行者123 更新时间:2023-12-02 06:26:12 26 4
gpt4 key购买 nike

这是我的问题的简要版本:

当 cookie 用于不同的服务器(在本例中为 Exchange 邮件服务器)时,是否可以通过某种方式将 cookie 设置到客户端的浏览器中?在这种情况下,尝试设置 cookie 的服务器位于“intranet.myschool.edu”,交换服务器位于“owa_server.myschool.edu”。


完整问题如下:

我有一个 php 脚本,它使用 cURL 向启用了基于表单的身份验证的 Exchange 服务器发出 HTTP POST。

当我进行成功的 HTTP POST(在发布的 url 中包含用户/密码)时,Exchange 服务器(或更具体地说,https://my.school.edu/exchweb/bin/auth/owaauth.dll 文件)输出 cookie。具体来说,它输出一个“sessionid”和一个“cadata”id。

通过将这些 cookie ID 写入服务器上的文本文件,cURL/PHP 可以引用它,然后从 Exchange/OWA 服务器请求数据(通过 webdav 等)。

那部分有效。我现在要解决的问题是将 cookie id 传递给客户端浏览器,以便他们可以使用这些 cookie id 自动登录到他们自己的 OWA 帐户。

本质上,我希望我们的用户使用他们的 Active Directory ID 登录到我们的内部网,并查看他们最近电子邮件的快照。然后,如果他们需要,我会给他们一个小链接以切换到完整的 OWA Web 应用程序。发生此切换时,我不希望他们必须手动登录到 OWA。由于他们已经在 Intranet 前端提交了他们的 Active Directory 用户名和密码,我希望他们能够自动登录到 OWA。

我应该指出,使用 Windows 身份验证尝试进行单点登录是不可能的,因为我们混合使用了 Mac 操作系统、Windows 和 Linux。

我原以为我可以做一个“setcookie”并分配 cURL 获得的 cookie id,并将它们放入客户端浏览器。

这不可能吗?以这种方式“欺骗”Exchange/OWA(或任何其他站点)是不可能的。我有 cURL 捕获的合法 cookie ID。有没有办法将它们传递给另一台计算机上的客户端浏览器?

在最坏的情况下,使用 Javascript 将用户名和密码自动粘贴到 OWA 登录页面是我唯一的希望吗?对于如何避免我的 Exchange/OWA 双重登录问题,是否有人有任何其他想法?

感谢您提供的任何帮助!

最佳答案

来自 RFC 2965 (NB HDN = "主机域名)

Host A's name domain-matches host B's if

  *  their host name strings string-compare equal; or

* A is a HDN string and has the form NB, where N is a non-empty
name string, B has the form .B', and B' is a HDN string. (So,
x.y.com domain-matches .Y.com but not Y.com.)

Note that domain-match is not a commutative operation: a.b.c.com
domain-matches .c.com, but not the reverse.

因此使用 .myschool.edu 作为域应该可行。注意领先。是必不可少的

关于php - 是否可以为非您拥有的站点/服务器设置 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/493646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com