我制作了一个工具,可以从其他网站(任何类型)抓取所有 html、css、javascript 和图像。然后我在我自己的域名上执行这个(当然在修改链接之后)。
javascript 也会执行,因此页面呈现与抓取网站上的相同。但都在我的域名下。
有什么方法可以保护这个 javascript 的执行(使用不受控制的代码),这样被抓取的网站就无法获取我网站用户的 cookie 吗?(或其他潜在的安全漏洞?)
谢谢。
我制作了一个工具,可以从其他网站(任何类型)抓取所有 html、css、javascript 和图像。然后我在我自己的域名上执行这个(当然在修改链接之后)。
javascript 也会执行,因此页面呈现与抓取网站上的相同。但都在我的域名下。
有什么方法可以保护这个 javascript 的执行(使用不受控制的代码),这样被抓取的网站就无法获取我网站用户的 cookie 吗?(或其他潜在的安全漏洞?)
谢谢。
在单独的源上运行随机页面(即在单独的域上运行)至少可以避免随机页面和您的站点之间的数据泄漏(cookie、localStorage 等)。为了避免从一个随机页面泄漏到另一个,也可以在其自己的子域上运行每个随机页面。
我相信这就是谷歌为缓存所做的;这些页面是从googleusercontent.com
域提供的:https ://webcache.googleusercontent.com/search?q=cache%3Astackoverflow.com&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a
如果不在单独的域上运行页面,就无法防止数据泄漏。
认为你永远不应该在你的页面上执行随机 js。
我仍然认为有一种方法可以做到这一点,尽管它需要大量的努力。
一旦你的页面被加载。覆盖浏览器注入到您自己的实现中的所有 javascript 全局变量并在其中实施安全检查。这样,在您的页面中执行的所有随机 js 都将以您希望它们执行的方式访问所有功能
前任。将 document.cookie 覆盖到页面加载上的其他内容,然后排除您域的 cookie。更改 xmlHttprequest 的原型,以便阻止对您的域的 ajax 请求。等等等等