gpt4 book ai didi

apache - 更改 Cookie 域

转载 作者:行者123 更新时间:2023-12-04 18:15:06 25 4
gpt4 key购买 nike

我使用 apache 作为我的应用程序 Web 服务器的代理,并希望即时更改与 sessionid cookie 关联的域名。

该cookie有一个与之关联的.company.com域,我想使用apache mod rewrite(或一些类似的模块),透明地将域更改为app.company.com。这可能吗 ?如果是这样,一个人会怎么做?

最佳答案

您只能更改 cookie 的域 在客户端上,或者在服务器上设置时 .设置 cookie 后,它的路径和域信息仅存在于客户端上。因此,现有的 cookie 不能在服务器上更改其域,因为该信息不会从客户端发送到服务器。

例如,如果您在本地计算机上有一个如下所示的 cookie:

MYCOOKIE:123, domain:www.test.com, path:/

您的服务器只会收到:
MYCOOKIE:123 

在服务器上。为什么不发送路径和域?因为浏览器将这些信息保存在客户端上,并且不会费心发送它,因为它只会在页面位于 时将此 cookie 发送到您的服务器。 www.test.com 在路径 / .

由于它是您的服务器,因此您应该能够更改创建新 cookie 的代码。如果您觉得出于某种原因需要在代码之外执行此操作,您可以使用类似以下的内容来执行此操作,但您必须准确查看 cookie 在 header 中的写入方式以完全匹配它。以下是对此可行解决方案的未经测试的猜测,使用 Apache 的 mod_headers :
<IfModule mod_headers.c>
Header edit Set-Cookie (.*)(domain=.company.com;)(.*) $1 domain=app.company.com; $2
</IfModule>

您也可以使用 mod_headers更改从客户端收到的 cookie,如果需要,如下所示:
<IfModule mod_headers.c>
RequestHeader edit Cookie "OLD_COOKIE=([0-9a-zA-Z\-]*);" "NEW_COOKIE_NAME=$1;"
</IfModule>

这只会重命名您在请求中收到的 cookie。

关于apache - 更改 Cookie 域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4923064/

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