苹果cms教程

苹果CMS播放页恶意跳转劫持彻底修复方案

发布时间:2024-10-16共14人阅读

一、后台播放器参数清理

播放页劫持跳转大多源自后台内置的缓冲广告、预加载广告恶意链接,即使页面正常加载也会触发自动跳转,需要优先清理系统内置广告参数。

进入网站后台,依次打开 系统设置 — 播放器参数,找到 预加载广告、缓冲广告 两项配置,将输入框内所有内容全部清空。

不同程序版本字段名称略有差异,只要是预加载、缓冲、播放前置广告类参数,全部清空即可杜绝后台自带劫持源头。

二、V10版本播放器源码替换修复

后台参数清理完成后,需替换纯净无后门的播放器JS文件,彻底清除隐藏劫持代码。针对苹果CMS V10版本,直接替换根目录 /static/js/player.js 文件源码。

删除原有全部加密或带劫持代码的内容,替换为以下纯净原版代码:

var MacPlayer={
'GetUrl':function(s,n){
return this.Link.replace('{sid}',s).replace('{sid}',s).replace('{nid}',n).replace('{nid}',n)
},
'Go':function(s,n){
location.href=this.GetUrl(s,n)
},
'Show':function(){
$('#buffer').attr('src',this.Prestrain);
setTimeout(function(){
MacPlayer.AdsEnd()
},this.Second*1000);
$("#playleft").get(0).innerHTML=this.Html + '';
var a=document.createElement('script');
a.type='text/javascript';
a.async=true;
a.charset='utf-8';
a.src='';
var b=document.getElementsByTagName('script')[0];
b.parentNode.insertBefore(a,b)
},
'AdsStart':function(){
if($("#buffer").attr('src')!=this.Buffer){
$("#buffer").attr('src',this.Buffer)
}
$("#buffer").show()
},
'AdsEnd':function(){
$('#buffer').hide()
},
'Install':function(){
this.Status=false;
$('#install').show()
},
'Play':function(){
document.write('<style>.MacPlayer{background:#000000;font-size:14px;color:#F6F6F6;margin:0px;padding:0px;position:relative;overflow:hidden;width:100%;height:100%;min-heigh:300px;}.MacPlayer table{width:100%;height:100%;}.MacPlayer #playleft{position:inherit;!important;width:100%;height:100%;}</style><div class="MacPlayer">' + '' + '<iframe id="buffer" src="" frameBorder="0" scrolling="no" width="100%" height="100%" style="position:absolute;z-index:99998;"></iframe><iframe id="install" src="" frameBorder="0" scrolling="no" width="100%" height="100%" style="position:absolute;z-index:99998;display:none;"></iframe>' + '' + '<table border="0" cellpadding="0" cellspacing="0"><tr><td id="playleft" valign="top" style="">&nbsp;</td></tr></table></div>');
this.Height=$('.MacPlayer').get(0).offsetHeight;
this.Width=$('.MacPlayer').get(0).offsetWidth;
document.write('<scr' + 'ipt src="' + this.Path + this.PlayFrom + '.js"></scr' + 'ipt>')
},
'Down':function(){},
'Init':function(){
this.Status=true;
this.Parse='';
if(player_data.encrypt=='1'){
player_data.url=unescape(player_data.url);
player_data.url_next=unescape(player_data.url_next)
}elseif(player_data.encrypt=='2'){
player_data.url=unescape(base64decode(player_data.url));
player_data.url_next=unescape(base64decode(player_data.url_next))
}
this.Prestrain=MacPlayerConfig.prestrain;
this.Buffer=MacPlayerConfig.buffer;
this.Second=MacPlayerConfig.second;
this.Flag=player_data.flag;
this.Trysee=player_data.trysee;
this.Points=player_data.points;
this.Link=decodeURIComponent(player_data.link);
this.PlayFrom=player_data.from;
this.PlayNote=player_data.note;
this.PlayServer=player_data.server=='no'?'':player_data.server;
this.PlayUrl=player_data.url;
this.PlayUrlNext=player_data.url_next;
this.PlayLinkNext=player_data.link_next;
this.PlayLinkPre=player_data.link_pre;
if(MacPlayerConfig.server_list[this.PlayServer]!=undefined){
this.PlayServer=MacPlayerConfig.server_list[this.PlayServer].des}
if(MacPlayerConfig.player_list[this.PlayFrom]!=undefined){
if(MacPlayerConfig.player_list[this.PlayFrom].ps=="1"){
this.Parse=MacPlayerConfig.player_list[this.PlayFrom].parse==''?MacPlayerConfig.parse:MacPlayerConfig.player_list[this.PlayFrom].parse;
this.PlayFrom='parse'
}
}
this.Path=maccms.path + '/static/player/';
if(this.Flag=="down"){
MacPlayer.Down()
}else{
MacPlayer.Play()
}
}};MacPlayer.Init();

三、修复收尾操作

源码替换保存后,清空网站后台全部缓存与浏览器缓存,刷新播放页面即可彻底解决自动跳转、恶意劫持、弹窗广告等问题,恢复播放器纯净播放状态。