繁体   English   中英

访问我的Cookie的第三方扩展

[英]Access of third-party extensions to my cookies

我的网站上有二手Cookie。 最近,我注意到当第三方扩展窃取用户的会话Cookie并将其发送给诈骗者时,发生了一些骗局。 是否可以禁止浏览器扩展访问我网站的cookie? 借助任何meta标签?

TLDR:必须使用HTTPS 扩展对cookies的访问级别很荒谬,包括httponly 这里查看manifest.json可以指向最终可以访问您的cookie的扩展脚本,但是如果您使用CSP标头将域列入白名单,那么我想该扩展将无法对其进行任何操作,除非它们在较低版本下起作用层(脚本是注入的(:facepalm :),因此CSP不适用于它们,根据我的阅读,它看起来像是...。)

我会考虑先控制要允许通讯的第三方应用程序。 为此,请考虑:

要使用上述功能,您需要将协议切换为https

接下来,仍然可能让您信任的脚本表现出恶意行为,然后对于严格保密的cookie,请使用httponly选项从服务器端设置这些cookie:

  • Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly

这样,js无法访问它们。 阅读cookie @MDN

不用说,不要让其他人访问您的窗口:

  • 如果使用oWindow = window.open(.....) ,请确保oWindow无法访问您: oWindow.opener = null ;
  • 如果您有链接等,请始终对它们使用rel='noopener noreferrer'属性。
  • 阻止其他窗口在iframe中打开您的页面: X-Frame-Options: SAMEORIGIN

最后,我不建议这样做(我也没有尝试过),因为它不提供真正的安全性,但是,如果您确定第三方实现不需要XMLHttpRequest,则可以猴子打补丁,将其从全局中删除:

 XMLHttpRequest  = (function(xhtp){
       //do whatever you need here while you have access
       return null;
    }(XMLHttpRequest))

或从原型中删除withCredentials getter / setter,因为它永远不会影响相同的来源(假设影响):

delete XMLHttpRequest.prototype.withCredentials

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM