2013-05-13 81 views
0

我对试图通过iFrame实现单点登录的公司进行自动化测试;第三方网站会将我们的页面包含在iFrame中,我们将执行授权。如果第三方Cookie被阻止,是否可以'假装'一个网站是第三方来测试功能?

我们不得不重做这种工作方式,因为Firefox默认关闭第三方Cookie。对于手动测试,我们将页面托管在不同的域中,但是此域需要某些用户名和密码,我们无法在代码中公开,因此很难自动化。

有没有一种方法可以让Firefox认为mydomain.com实际上并不是mydomain.com?这听起来是不可能的,因为如果我能让Firefox想到我实际上在mydomain2.com上,那么我可以有效地放在第三方cookie上,但是因为我是在我自己的Firefox实例上做的,有没有设置我可以改变我的个人资料混淆它?

回答

0

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

1

是的,这非常简单,我们一直这样做。

登录到测试机(将要运行浏览器的计算机)和修改hosts文件,位于C:\ WINDOWS \ SYSTEM \ drivers \ etc下

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

例子:

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

通过http://FirstPartyDomain.com

添加主机条目

127.0.0.1 FirstPartyDomain.com 
127.0.0.1 ThirdPartyDomain.com 

访问您的网站网站包含一个iFrame

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