0

我正在制作一个自动登录到在线网站的离线网页。该网站使用 ssl ( https ) 并使用表单 (发布变量) 登录

我遇到的问题如下:当我首先打开在线登录页面时,该站点只接受我的离线表单。这是因为网站使用打开第一页时进行的(服务器端)会话。(会话的目的是检测超时)

当我第一次打开在线网站然后运行我的离线页面时,一切正常。

所以我需要让我的离线网页在自动发布表单之前打开在线网站。

我用iframe尝试了这个,但这在 Internet Explorer 中不起作用,因为它是一个 https 网站。(它在 Chrome、firefox、...中工作)

我想知道Ajax是否可以在发布我的表单之前发送 https 页面请求。但我猜不是因为它是https。

有没有人知道像浏览器一样发送 https 页面请求的方法,但没有显示它的输出?之后我可以自动提交我的表格。

提前致谢!

4

1 回答 1

1

Internet Explorer 将来自其他域的 iframe 视为第三方内容,并为它们使用一组单独的安全策略。安全区域设置file:///“本地机器”/“离线”网页和“互联网”/“在线”网页之间也有效。Cookie 通常会被第三方内容阻止(取决于您的设置),这意味着不会保存 Cookie 中设置的唯一会话密钥。如果没有此密钥,您尝试登录的站点将“忘记”您的会话/登录。

跨域 AJAX 请求也会受到安全区域和跨域策略的影响,但IE 版本之间的设置可能会有所不同

如果您控制目标网页,则可以使用P3P 策略绕过限制。Cookie 被阻止/未保存在 Internet Explorer 中的 IFRAME 中显示了如何。但是,如果您确实拥有该网页,最好启用或实现您自己的“记住我”功能

在您的情况下,根据您是否是唯一使用离线自动登录网页的人,在 Internet Explorer 中允许第三方 cookie 可能会有所帮助。请参阅选项 > 隐私 > 允许所有 cookie(或类似的)。不过,这将允许其他人(主要是广告公司)在整个互联网上跟踪您。

如果您的自动登录页面的目的是测试,而不是实际使用浏览器作为人类,也许您可​​以自动登录和测试

于 2012-06-30T19:47:42.670 回答