我正在尝试通过iFrame实现单点登录的公司进行自动化测试;第三方网站将在iFrame中包含我们的页面,我们将进行授权。
我们不得不重复工作方式,因为Firefox默认为第三方Cookie关闭。对于手动测试,我们将页面托管在不同的域上,但是此域需要我们无法在代码中公开的某些用户名和密码,因此很难实现自动化。
有没有办法让Firefox认为mydomain.com实际上不是mydomain.com?这听起来不可能,因为如果我可以让Firefox认为我实际上是在mydomain2.com上,那么我可以有效地加入第三方cookie,但是因为我在我自己的Firefox实例上这样做,有没有设置我可以在我的个人资料中更改以混淆它吗?
答案 0 :(得分: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
访问您的网站
网站包含iFrame
<iframe src="ThirdPartyDomain.com/SetNastyCookies">
iFrame中的请求将转到同一服务器(本地主机)但在第三方站点的上下文中。
答案 1 :(得分:0)
使用DNSMasq怎么样?大多数开源路由器(如DD-WRT)都支持此选项。如果您需要通过https进行测试,您还可以在测试期间临时存储安全证书异常。