php网站,代码有一段不知道什么意思,求大神帮忙(代码如下)

/* <![CDATA[ */!function(){try{var t="currentScript"in document?document.currentScript:function(){for(var t=document.getElementsByTagName("script"),e=t.length;e--;)if(t[e].getAttribute("cf-hash"))return t[e]}();if(t&&t.previousSibling){var e,r,n,i,c=t.previousSibling,a=c.getAttribute("data-cfemail");if(a){for(e="",r=parseInt(a.substr(0,2),16),n=2;a.length-n;n+=2)i=parseInt(a.substr(n,2),16)^r,e+=String.fromCharCode(i);e=document.createTextNode(e),c.parentNode.replaceChild(e,c)}}}catch(u){}}();/* ]]> */

网友采纳的那个回答是个毛线啊?就给你把这段js做了一下格式化。我来给你解释一下吧:

    这个代码是前端的JS代码,PHP是后端语言,这个代码跟PHP没有卵关系;

    这个代码不是病毒木马代码,检测工具检测出来红色大概是因为这个是放在了注释CDATA块里。注释CDATA块其实是因以前的低端浏览器不识别JS代码而生的,现在完全没必要再注释掉了;

    你还是不放心的话,那我告诉你,这个代码是给你隐藏你的真实邮箱的。因为很多发送垃圾邮件的人甚至搜索引擎,都会用爬虫扫描各个网站的邮箱(因为邮箱格式特征很明显),扫到之后就给你发垃圾邮件。所以这个代码是由PHP简单的加密之后写到页面上一串16进制数字,然后用JS解密出来,爬虫就扫不到你邮箱了,就这么简单。

    也许采纳的那位哥们不服,说这么一段代码看不出什么来。那好,我说说每一行的意思。

      首先是个闭包,懂前端的人都知道。

      然后try一下,是为了谨慎,免得IE弹出页面脚本有错误。

      然后获取document.currentScript标签。如果没有这个属性的话,就用原始的方法来做,这里又是一个自执行函数(闭包)。

      拿到当前的script标签,那前一个恰好就是加密标签了,邮箱就在这个标签的data-cfemail属性中,将这个标签保存成变量为c。

      然后就是解密了。

        解密算法很简单,就是一串16进制串,两两读取。

        前两个读出来作为密钥

        从后面每两个读出来,和密钥做异或,之后的值用ASCII读出字母

        这些字母拼出来的就是你的邮箱

      解密之后创建一个文本节点替换掉原来的加密标签,就完成了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-12
/* <![CDATA[ */ ! function() {
try {
var t = "currentScript" in document ? document.currentScript : function() {
for (var t = document.getElementsByTagName("script"), e = t.length; e--;)
if (t[e].getAttribute("cf-hash")) return t[e]
}();
if (t && t.previousSibling) {
var e, r, n, i, c = t.previousSibling,
a = c.getAttribute("data-cfemail");
if (a) {
for (e = "", r = parseInt(a.substr(0, 2), 16), n = 2; a.length - n; n += 2) i = parseInt(a.substr(n, 2), 16) ^ r, e += String.fromCharCode(i);
e = document.createTextNode(e), c.parentNode.replaceChild(e, c)
}
}
} catch (u) {}
}(); /* ]]> */
单从代码上很难看出什么意思,要结合上下文才可以,但是如果你把这段代码删除了,看看,页面上有没有影响就知道了,追问

用站长工具网站被黑检测的时候,这段代码是红色的(如图)这代表什么意思呢?

本回答被网友采纳
第2个回答  2015-07-12
这是一段js代码,具体是什么作用看不出追问

用站长工具网站被黑检测的时候,这段代码是红色的(如图)这代表什么意思呢?

追答

没事,已经注释掉了,不会起作用,可能是做网站的人留下的

追问

我的网站被攻击过,是不是攻击我网站的人弄的?以前检查代码没发现有这个东西的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网