是否有一个javascript方法来检查用户是否更改了给定的代码? 例如:
<div id="mycodestyle">
<a href="http://www.example.com"><img src="image.gif"></a>
</div>
如果用户现在更改代码,如
<div id="mycodestyle">
<img src="image.gif">
</div>
他得到了一条消息 - &gt;代码已修改。极端追踪使用相同的方法,但我不知道他们是如何做到的。 这是极端追踪的代码
<div id="eXTReMe">
<a href="http://extremetracking.com/open?login=example">
<img src="http://t1.extreme-dm.com/i.gif" style="border: 0;"
height="38" width="41" id="EXim" alt="eXTReMe Tracker" /></a>
<script type="text/javascript"><!--
EXref="";
top.document.referrer?EXref=top.document.referrer:EXref=document.referrer;
//--></script>
<script type="text/javascript"><!--
var EXlogin='example' // Login
var EXvsrv='s10' // VServer
EXs=screen;
EXw=EXs.width;
navigator.appName!="Netscape"?EXb=EXs.colorDepth:EXb=EXs.pixelDepth;
EXsrc="src";
navigator.javaEnabled()==1?EXjv="y":EXjv="n";
EXd=document;
EXw?"":EXw="na";
EXb?"":EXb="na";
EXref?EXref=EXref:EXref=EXd.referrer;
EXd.write("<img "+EXsrc+"=http://e1.extreme-dm.com",
"/"+EXvsrv+".g?login="+EXlogin+"&",
"jv="+EXjv+"&j=y&srw="+EXw+"&srb="+EXb+"&",
"l="+escape(EXref)+" height=1 width=1>");
//--></script>
<noscript><div id="neXTReMe"><img height="1" width="1" alt=""
src="http://e1.extreme-dm.com/s10.g?login=example&j=n&jv=n" />
</div></noscript>
</div>
答案 0 :(得分:2)
简短回答:是的,绝对有可能。
当然可以使用Javascript观看您的DOM
和HTML Markup
。您可以使用某种间隔检查某些内容,甚至可以使用DOM Level 3 Mutation Events
或DOMNodeRemoved
等DOMSubtreeModified
。
真正的问题是,值得吗? 否强>!
任何Clientside代码都可以修改或删除,就像有人修改HTML标记一样。只有在客户端才有这种安全性的机会是零。 您必须将完整的HTML代码(或可能只是其中的一部分)发送回服务器以进行任何类型的验证。
答案 1 :(得分:0)
是的,这是可能的,例如通过散列页面的内容。但是,这是一个非常糟糕的主意。您将添加到代码中的任何保护系统都可以从页面中删除,因为用户已经有意修改它。
您尝试实施的是某种软件保护系统。当您分发二进制文件时,这些系统值得花时间,因为反汇编和逆向工程很难并且需要一些时间。但是,我们在这里谈论Javascript,阅读/调试Javascript更容易。人们可以删除负责保护的部分。
但是,如果你坚持,这是我的解决方案:
InnerHTML
)