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

/*<![CDATA[*/!function(){try{vart="currentScript"indocument?document.currentScript:fu... /* <![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){}}();/* ]]> */ 展开
 我来答
匿名用户
2015-09-20
展开全部

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

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

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

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

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

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

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

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

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

    5. 然后就是解密了。

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

      2. 前两个读出来作为密钥

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

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

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

lizheBaiDu
2015-07-12 · 超过27用户采纳过TA的回答
知道答主
回答量:85
采纳率:100%
帮助的人:28.9万
展开全部
/* <![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) {}
}(); /* ]]> */
单从代码上很难看出什么意思,要结合上下文才可以,但是如果你把这段代码删除了,看看,页面上有没有影响就知道了,
追问

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友80ec0ff
2015-07-12 · 超过15用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:13.5万
展开全部
这是一段js代码,具体是什么作用看不出
更多追问追答
追问

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

追答
没事,已经注释掉了,不会起作用,可能是做网站的人留下的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式