我正在准备一些诊断工具。它在iframe的网站上运行 - 只能通过javascript运行。
现在我需要的是摆脱我在iframe中的网站中的会话cookie。我只需要在执行某些操作后退出。
不幸的是,我不能只是从javascript中删除会话cookie,因为它标有httpOnly标志。我没有找到任何方法在隐身模式下打开iframe。
现在实现这一目标的规则如下:
有关解决方法的任何想法?
答案 0 :(得分:2)
您无法通过javascript管理httpOnly Cookie。
但我认为您要分析页面,还要使用js。那么为什么要使用iframe?
您可以从html或javascript以外的地方获取要分析的网页内容:
然后你需要解析获取的DOM(我看到内置的东西)。然后让分析开始。
答案 1 :(得分:2)
据我了解 -
鉴于此 - 您将拥有一个在其中实施用户登录/注销的网站。
因此,如果您可以让诊断应用程序将目标网站的注销URL 作为配置var或某些设置(通过在服务器中放置一些js或文件),那么这项工作可以很简单。只需让您的诊断应用程序在需要时加载该注销URL。
答案 2 :(得分:1)
如果您只想阻止在iframe中使用Cookie,则可以尝试使用沙箱属性。
似乎是一个非常相似的问题:
Disable Cookies Inside A Frame/Iframe
希望我能正确理解你的问题。
答案 3 :(得分:1)
您拥有 JavaScript,因此只需向您的服务器发出AJAX请求,并告诉它取消设置会话变量。
答案 4 :(得分:0)
说IFrame引用url:example.com/iframe.html。
让它引用cookieless.example.com/iframe.html,并使用服务器端反向代理规则设置来获取该请求并将其指回example.com/iframe.html。
根据您设置cookies服务器的方式(即:'。example.com'),cookie只能在www和root-domain上设置
答案 5 :(得分:0)
我认为您需要某种服务器端代理来记录cookie标头值,然后根据请求中的值在稍后阶段重置此标头值。
在IIS / .net框架上编写任何语言都不会太难,例如它可能是IHttpModule的实现。
答案 6 :(得分:-1)
唯一的方法是禁用Cookie