使用ROT13密码混淆电子邮件时的参考错误

时间:2015-05-13 07:14:40

标签: javascript obfuscation referenceerror rot13

我正在使用this online tool创建使用JavaScript对电子邮件地址进行模糊处理所需的ROT13 cipher代码并且工作正常,但我得到以下JS ReferenceError使用时:

ReferenceError: eo is not defined

以下是我正在使用的代码:

<span id="obf">
    <script>document.getElementById("obf").innerHTML="<n uers=\"znvygb:vasb@zzjgenqrznexf.pbz.nh\" >vasb@zzjgenqrznexf.pbz.nh</n>".replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});document.body.appendChild(eo);</script>
    <noscript>[Enable JavaScript to see email]</noscript>
</span>

脚本末尾的这段代码似乎是罪魁祸首:

document.body.appendChild(eo);

知道问题是什么吗?

2 个答案:

答案 0 :(得分:1)

试试这个...脚本的最后一部分是完全错误的:

<span id="obf">
    <script>document.getElementById("obf").innerHTML="<n uers=\"znvygb:vasb@zzjgenqrznexf.pbz.nh\" >vasb@zzjgenqrznexf.pbz.nh</n>".replace(/[a-zA-Z]/g,function(c){return String.fromCharCode((c<="Z"?90:122)>=(c=c.charCodeAt(0)+13)?c:c-26);});</script>
    <noscript>[Enable JavaScript to see email]</noscript>
</span>

答案 1 :(得分:1)

查看他的GitHub。它有一些更多的说明,包括你应该首先通过javascript混淆邮件。与devnull69一样,最后一部分可以省略。在GitHub的文档中确实省略了它。

编辑:检查页面的HTML,eo对象确实用于某事。查看line 58line 144