假设我想弄乱特定的站点并在那里注入一些功能来与页面交互。然后网站管理员可以通过检查窗口对象来检查是否只有他定义的功能,如果有差异通过 ajax 回传到他的服务器,那么实际上我的代码可以以这种方式被窃取/查看吗?
问问题
124 次
2 回答
2
如果您在网站的全局上下文中注入代码,该网站可以使用 JavaScript 来检测这一点,并通过.toString()
在您的函数上使用,获取注入函数的源代码。
但是,这不太可能,您始终可以将大部分代码放入匿名自执行函数中,该函数仅在注册事件等时使用代理函数,然后调用您的实际逻辑 - 这些函数在匿名闭包之外无法访问。
(function() {
function doCrazyStuff() { /* OMG THIS IS TOP SEKRET! */ }
function crazyStuffProxy() { doCrazyStuff(); }
window.onload = crazyStuffProxy;
});
现在有权访问的window
人可以获得 的代码,crazyStuffProxy
但无法访问doCrazyStuff
.
当然,这只适用于不使用<script>
标签注入所有代码的情况。但是,由于您标记了您的问题opera-extension您的代码可能在不同的上下文中运行,除了您实际添加到窗口或 DOM 元素的代码,所以这不应该是一个问题......
于 2012-09-18T11:19:28.580 回答
0
这取决于。我可以写一些非常贪婪的东西并检测到正在发生的事情并将其发送出去。这需要大量工作才能检测到所有这些。
它不太可能。
于 2012-09-18T11:17:42.263 回答