关于对discuz.gtimg.cn不明代码的解决方法

discuz教程
今天看了下一个频道的页面,发现有js什么的冲突代码

最近用排除方法 是底部

这代码引起的,既然在底部那就很好找,找到模版 footer.htm里面是用 调用的

之前没有这代码的,打了0339补丁就有了,那就去0339补丁里搜索这代码

在 source/function/function_cloud.php 里有这么一句赤裸裸的代码,为什么我叫他赤裸裸

一 因为这gtimg.cn跟官方,压跟没有联系

二 这js代码还会影响我们js的效果

三 下载这个js还使用一个eval(function(p,a,c,k,e,d)加密

-----------------------------------------------------------------------------------------------

解密后得到的代码

  • var clearTips;DiscuzCloudNameSpace = new Object();DiscuzCloudNameSpace.register = function(fullName) { try { var nsArray = fullName.split("."); var strNS = ""; var strEval = ""; for (var i = 0; i < nsArray.length; i++) { if (strNS.length > 0) strNS += "."; strNS += nsArray; strEval += " if (typeof(" + strNS + ") =='undefined') " + strNS + " = new Object(); " }; if (strEval != "") eval(strEval) } catch(e) { alert(e.message) }};DiscuzCloudNameSpace.register('DiscuzCloud');DiscuzCloud.JSONP = (function() { var counter = 0, head, query, key, window = this; function load(url) { script = document.createElement('script'), done = false; script.src = url; script.charset = 'UTF-8'; script.async = true; script.onload = script.onreadystatechange = function() { if (!done && (!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) { done = true; script.onload = script.onreadystatechange = null; if (script && script.parentNode) { script.parentNode.removeChild(script) } } }; if (!head) { head = document.getElementsByTagName('head')[0] }; head.appendChild(script) }; function jsonp(url, params, callback) { if (url.indexOf('?') > -1) { query = '&' } else { query = '?' }; params = params || {}; for (key in params) { if (params.hasOwnProperty(key)) { query += encodeURIComponent(key) + "=" + encodeURIComponent(params[key]) + "&" } }; var jsonp = 'discuzTipsCallback'; window[jsonp] = function(data) { callback(data); try { delete window[jsonp] } catch(e) {} window[jsonp] = null }; load(url + query + "callback=" + jsonp); return jsonp }; return { get: jsonp }} ());DiscuzCloud.htmlspecialchars = function(string, quote_style, charset, double_encode) { var optTemp = 0, i = 0, noquotes = false; if (typeof quote_style === 'undefined' || quote_style === null) { quote_style = 2 }; string = string.toString(); if (double_encode !== false) { string = string.replace(/&/g, '&') }; string = string.replace(//g, '>'); var OPTS = { 'ENT_NOQUOTES': 0, 'ENT_HTML_QUOTE_SINGLE': 1, 'ENT_HTML_QUOTE_DOUBLE': 2, 'ENT_COMPAT': 2, 'ENT_QUOTES': 3, 'ENT_IGNORE': 4 }; if (quote_style === 0) { noquotes = true }; if (typeof quote_style !== 'number') { quote_style = [].concat(quote_style); for (i = 0; i < quote_style.length; i++) { if (OPTS[quote_style] === 0) { noquotes = true } else if (OPTS[quote_style]) { optTemp = optTemp | OPTS[quote_style] } }; quote_style = optTemp }; if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) { string = string.replace(/'/g, ''') }; if (!noquotes) { string = string.replace(/"/g, '"') }; return string};DiscuzCloud.setCookie = function(name, value, sec) { if (typeof(sec) == 'undefined') { sec = 86400000; } else { sec = sec * 1000 }; var expires = new Date(); expires.setTime(expires.getTime() + sec); document.cookie = name + '=' + escape(value) + '; expires=' + expires.toGMTString()};DiscuzCloud.getCookie = function(name) { var cookie_start = document.cookie.indexOf(name); var cookie_end = document.cookie.indexOf(';', cookie_start); return cookie_start == -1 ? '': unescape(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end: document.cookie.length)))};DiscuzCloud.$ = function(id) { return document.getElementById(id)};DiscuzCloud.Tips = function(sId, version, release, api, founder, fix, sUrl, sCharset, ts, sig, adminId, groupId, uid, openId) { this.sId = sId; this.sUrl = sUrl; this.version = version; this.release = release; this.api = api; this.founder = founder; this.fix = fix; this.clientWidth = document.documentElement.clientWidth; this.clientHeight = document.documentElement.clientHeight; this.discuzTips = DiscuzCloud.$('discuz_tips'); newDate = new Date(); this.url = 'http://cp.discuz.qq.com/tips/get?rand=' + newDate.getDate() + newDate.getHours(); this.secret = ''; this.tipsId = ''; this.cacheKey = ''; this.sendTime = ''; this.sCharset = sCharset; if (typeof(document.characterSet) == 'undefined') { this.browserCharset = document.charset } else { this.browserCharset = document.characterSet }; if (discuzTipsCVersion == '2') { this.adminId = adminId; this.groupId = groupId; this.uid = uid; this.openId = openId }; this.ts = ts; this.sig = sig};DiscuzCloud.Tips.prototype.show = function() { if (discuzTipsCVersion == '2' && this.adminId != 1) { return false }; if (this.checkManyou()) {&

标签: