2011-06-11 40 views
1

我正在编程一个主机证明应用程序“按照定义”需要在客户端(html,js,css)上chcek源代码。 这是最好的完成(我相信)通过扩展的浏览器,采取源代码,并生成校验和(例如通过JavaScript实现sha1或md5) 有没有什么办法来获取当前打开的标签的源代码? (body.innerHTML或head.innerHTML是不够的) 应用程序是独立开发后,所以所有的JavaScript,CSS都捆绑成一个文件,因此检查很容易(无需解析和散列任何外部脚本,样式表, ...)获取在当前选项卡中加载的网站的源代码 - Chrome扩展程序设计

+0

你能解释为什么body.innerHTML不够吗? – serg 2011-06-11 18:47:12

+0

,因为攻击者可能会在注册标签和启动主体标签之间注入恶意的JS代码,这是无效的,但我相信浏览器可以将其呈现为常规JavaScript ... – Kleofas 2011-06-12 11:24:47

回答

1

body.innerHTMLhead.innerHTML应该足够了。在此测试DOC:

<script>alert("1");</script> 
<html> 
    <script>alert("2");</script> 
    <head> 
     <title>test</title> 
    </head> 
    <script>alert("3");</script> 
    <body> 
     body 
    </body> 
    <script>alert("4");</script> 
</html> 
<script>alert("5");</script> 

它自动把警报1,2,和3到head.innerHTML,而警报4和5去body.innerHTML

相关问题