0

我为一家试图通过 iFrame 实现单点登录的公司进行自动化测试;第三方网站会将我们的页面包含在 iFrame 中,我们将进行授权。

由于 Firefox 默认关闭 3rd Party Cookie,我们不得不重新设计它的工作方式。对于手动测试,我们将页面托管在不同的域中,但是该域需要某些我们无法在代码中公开的用户名和密码,因此很难自动化。

有没有办法让 Firefox 认为 mydomain.com 实际上不是 mydomain.com?这听起来不可能,因为如果我可以欺骗 Firefox 以为我实际上在 mydomain2.com 上,那么我可以有效地放置一个 3rd 方 cookie,但由于我是在我自己的 Firefox 实例上做的,有没有我可以在我的个人资料中更改设置来混淆它吗?

4

2 回答 2

1

是的,这非常容易,我们一直都在这样做。

登录到测试机器(将运行浏览器的计算机)并编辑位于 c:\windows\system\drivers\etc 中的 hosts 文件

为您希望混淆的站点添加一个条目,使用不同的域名但正确的 IP 地址。因为它是一个不同的域,所以它看起来像一个第三方站点,但是因为 IP 地址是相同的,所以请求实际上会被发送到同一个 Web 服务器。

例子:

假设您的 Web 服务器在本地主机(地址为 127.0.0.1)上运行

添加主机条目

127.0.0.1   FirstPartyDomain.com
127.0.0.1   ThirdPartyDomain.com

通过http://FirstPartyDomain.com访问您的网站

站点包含 iFrame

<iframe src="ThirdPartyDomain.com/SetNastyCookies">

iFrame 中的请求将发送到同一台服务器(本地主机),但在第三方站点的上下文中。

于 2013-10-01T01:11:05.700 回答
0

使用 DNSMasq 怎么样?大多数开源路由器(例如 DD-WRT)都支持此选项。如果您需要通过 https 对其进行测试,您也可以在测试期间临时存储安全证书异常。

于 2013-07-15T21:31:12.100 回答