苹果CMS V10安装测试基础笔记

  • 发表于
  • 日志

全新安装

本地安装,安装包资源参考:https://www.lanzous.com/b697801。安装过程比较简单,权限要777:sudo chmod -R 777 路径

一直在检查新版本的连接优化

因为苹果CMS已经关站了,但后台进去后一直在尝试连接官网进行检测新版本,先不让它连接。

application/admin/controller/Index.php:91 找到

echo $html.'<span style="display:none"><iframe src="//www.maccms.com/update/update10.htm?v='.$version['code'].'" height="0"></iframe>'. '<script src="//www.maccms.com/update/v10/?c=check&v='.$version['code'].'&p='.PHP_VERSION.'&t='.time().'"></script></span>';

替换成

echo $html;

默认采集联盟资源库失效问题

因为官网打不开了,自然就失效了,在网上找到一个资源库并替换:application/admin/view/collect/union.html:17

注释掉默认的这个
<!--<script src="//www.maccms.com/union/xmlutf_2014.js" charset="utf-8"></script>-->添加替代资源库
<script src="//www.zidongcaiji.com/caiji/api.js" charset="utf-8"></script>

其实看了一下资源库的代码,蛮简单的,后边自己制作一个更优秀的版本替换,先用这个测试一下。

简单的测试使用之后发现这个资源库不稳定,并且采集的时候不能采VIP资源站,因为失效率太大了,很多都是404。

删除无用连接

application/admin/view/index/index.html:35

<li class="layui-nav-item"><a href="http://www.maccms.com/" target="_blank">官网</a></li>
<li class="layui-nav-item"><a href="http://bbs.maccms.com/" target="_blank">论坛</a></li>

删除,因为官网已经打不开了。

解密player.js文件

苹果CMS加密了最重要的播放器载入player.js,而且一直在打开播放页的时候 player.js 会载入一个js文件执行,我们替换掉就行。官方这么做是非常不道德的。https://www.uedbox.com/post/56036/

解密文件

# 主题加密
template/vfed/asset/fed/create.php//已解,暂不提供
template/vfed/asset/js/global.js//已解96%,手动换变量换到烦躁,暂不提供
# CMS加密
static/js/player.js//已解

其中主题(苹果CMSv10大橙vfed3.1.5完美破解)加密解密工作完全是苦力活,耗费我几个小时。但基本都解开了。

伪静态设置,去掉index.php

后台->系统->URL地址配置:路由状态(开启)伪静态状态(开启)

搜索地址vodsearch/-------------.html?wd=静态优化

路由规则

vodsearch/<wd?>-<actor?>-<area?>-<by?>-<class?>-<director?>-<lang?>-<letter?>-<level?>-<order?>-<page?>-<state?>-<tag?>-<year?> => vod/search

改成
vodsearch/ => vod/search

建议路由规则还是默认吧,没必要自己改动,虽然会有一长串的----出现。

Nginx规则

location / {
if (!-e $request_filename) {
rewrite ^/index.php(.*)$ /index.php?s=$1 last;
rewrite ^/api.php(.*)$ /api.php?s=$1 last;
rewrite ^/admin.php(.*)$ /admin.php?s=$1 last;
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}

修改后台地址

开源CMS都必须要改的东西,不然挂个打码机破你就是时间问题,上边的改一下

rewrite ^/新后台文件名.php(.*)$ /新后台文件名.php?s=$1 last;

根目录下的admin.php是默认后台地址,把admin.php改成你的新地址名。同时把nginx的后台规则改上如上,然后重启nginx。

HTTPS站点

这里要补充一下,因为视频都是用的外边播放,不管你是像VIP资源一样连接URL还是M3U8资源

错误

Mixed Content: The page at 'https://www.site.com' was loaded over HTTPS, but requested an insecure image ‘http://site.com/190283de.m3u8’. This content should also be served over HTTPS.

提示说你引入的连接是非HTTPS加密连接,而你的站点又是HTTPS连接,这引发了安全问题,所以会限制资源加载。这样视频就没法播放了。

解决它

这里提供两种解决方法

前端解决:引入了一个meta

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

这种方法比较灵敏,对不懂代码或没有更多权限和能力去后端解决的人来说。如果你的主题支持操作head的话,比如vfed,直接在设置中添加这段代码即可,错误消失,问题解决。

后端解:决NGINX

在相应的conf文件中添加

add_header Content-Security-Policy "upgrade-insecure-requests";

这段代码即可,错误消失问题解决。更多扩展可看《Nginx的跨域Content Security Policy通行设置

程序BUG修复

苹果CMS V10的系统BUG还是蛮多的,因为只是安装测试,并非自己实际使用,所以没去一一修复,举例说明,权限配置有BUG:

BUG体现在权限检测太弱,轻易就越权了。还有就是权限配置不完善,如果是多帐号多权限使用会造成一些使用限制。

还有核心的采集BUG有很大的优化空间。

权限与安全

程序上

程序好像全部都要777权限,这样很不安全。因为架构的问题,采集了PHP配置文件而不是存取数据,这样即会造成安全问题也会造成权限滥用丢shell。

追了程序,发现两处getshell漏洞,已经修复,此处福利满满。

nginx防跨站

location ~ \.php$ {
fastcgi_paramPHP_VALUE"open_basedir=$document_root:/tmp/:/proc/";
}

HTTPS安全

这里先是全站HTTPS,然后自动追加HTTPS,再配置nginx,过程略复杂,下次补充。

功能扩展

  1. 采集功能相对弱,如果要做一个优质的片源站,必须结合豆瓣和imdb的的信息。评分也是假的,这是垃圾站标配。但话又说回来,我也不用要是用肯定处理这个问题。
  2. 自动处理图片防盗链问题,去除数据库操作功能。
  3. 配置与权限全部修改,现在的操作方式真的太危险了。
  4. 自动测试播放线路进行排序,也就是自检体验。

结束

本次过程包含

  • 程序安装
  • 主题安装
  • 主题解密
  • 优化修改
  • nginx相关
  • 安全相关

若有使用苹果CMS V10的的同学可参考本文进行调试。