google-app-engine - 有什么方法可以将 .appspot.com 列入白名单,以便我可以在 Firefox 6 中的该域上设置 cookie?

标签 google-app-engine firefox cookies tld

为了测试一些东西,我一直在使用在 .appspot.com 域上设置 cookie 的技巧,这允许我在两个不同的 .appspot.com GAE 应用程序之间共享数据。这在 Firefox 6 中已停止工作,一位谷歌人员告诉我:

It's because appspot.com was added to the public suffix list of domains that modern browsers should not allow cookies to be set for: http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1

这对普通用户来说完全有意义。但是对于我的测试,我真的很想让 FF 将 .appspot.com 视为常规域,而不是“有效的 TLD”。有没有办法将 .appspot.com 列入“白名单”或以其他方式覆盖 FF 中使用的 effective_tld_names.dat?

(我需要一个可以在 OS X 上运行的 hack,以防万一。)

最佳答案

不幸的是,没有支持的方法可以做到这一点。我检查了 nsCookieService 的实现,方法 SetCookieStringInternal 将拒绝无法从中获取基本名称的任何主机名(现在“appspot.com”就是这种情况 -对于 Firefox 引擎,这不再是完整的主机名)。这意味着除了“手动”写入数据库之外,即使扩展程序也不能为“appspot.com”设置 cookie。但这在这里没有多大帮助,因为方法 GetCookiesFromHost 也使用基域进行检查,因此将忽略“appspot.com”的任何 cookie。

鉴于 effective_tld_names.dat 被编译成 xul.dll,更改此数据的唯一方法是在此文件上使用十六进制编辑器,例如将“appspot.com”替换为“bppspot.com”,这应该“禁用”此规则。请注意,这样的操作会破坏增量更新,您必须在更新后重复此操作。

关于google-app-engine - 有什么方法可以将 .appspot.com 列入白名单,以便我可以在 Firefox 6 中的该域上设置 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110681/

相关文章:

python - 您如何在 Google App Engine (Python) 中定义配置变量/常量?

php - App Engine PHP 生成图像缩略图

firefox - 防止用户禁用或卸载 Firefox 插件

css - 元素有时在 Firefox 上不可见

java - Google App Engine 上的 GSON 抛出安全异常

java - Google App Engine 中的 Firebase 初始化错误

linux - 处理来自 Firefox 和 Google Chrome 的故障转储

cookies - 使用 FormsAuthenticationTicket 创建非持久性 cookie

javascript - 如何读取跨域图片自带的cookie值?

c# - CookieContainer 不存储国际化域名的 cookie