此工具源代码在我格式化硬盘的时候忘记我的虚拟机磁盘文件也在里面..所以没了.不再更新...
Windows防火墙批量添加3.0.1
Windows防火墙批量添加3.0
用C++重写了,然后修复了相当多的Bug.然后用MFC构建了一个界面,反正是基于Windows api,不占地方.而且优化了一下体积还更小了.只有67KB..另外经过多次测试,发现在Windows11系统中比Windows10系统要运行速度要快15倍左右.[测试的两个系统是完全相同的虚拟机配置,win10版本号是21H2 19044,win11的版本号是22H2 22621.]
看图:


更新记录:
bat版本
初版是一个bat脚本.放弃了,代码就不贴出来了
1.0
是一个只有最基本的添加功能,删除都没有,而且添加的时候没考虑到每个规则里面可以包含多个IP或者IP段,导致防火墙中看起来很乱.
2.0
增加了删除功能,考虑到每个规则里面可以包含多个IP和IP段,让用户自由选择
2.1
基本上算是非常完善了
2.2
增加了自定义端口的功能,支持单个端口或者端口段.
2.2.1
优化部分代码,增加了检测是否使用管理员权限打开的提示.总体大小无变化.
3.0
用MFC构建了一个UI界面,修复同时添加出入站的bug,原来是命名的问题,现在区分明明用In和Out结尾来区分,增加禁止全部协议功能,增加指定程序功能.为了防止单个txt文件内容过多不好编辑,程序默认读取同目录下的所有txt文件.然后加入了多线程
3.0.1
修复了一个UI上的小错误.
发现个相当严重的问题,当我添加28万行IP段的时候..会执行很久,准备用C#重写,添加多线程支持,然后会修复和优化....
几个小时后我..发现了一个纰漏,于是有了2.2版,增加了自定义端口号的功能.压缩版和未压缩版没任何区别,压缩版只是使用UPX压了一下,体积更小而已
老规矩,先给程序包的下载地址.后面的爱看不看...
软件的主要功能方便你批量添加规则到你的防火墙,你可以只允许美国用户访问,或者单独的只屏蔽美国IP段...
😥我TM最近被这些国外的IP搞的鸡飞狗跳.烦都烦死了.
查了下,Windows系统下好像没有一个好用一点的软件能批量设置这个的.没找到一个说只能允许指定的IP段访问,或者流量流向指定的IP段的..算了撒,自己动手,丰衣足食.
首先去https://www.ip2location.com/free/visitor-blocker
下载你要的国家的IP段.然后稍微整理一下,整理成如下格式保存到ip.txt文本文档中,和程序在同一个目录下.
203.19.156.0/24
203.19.176.0/24
203.19.178.0/23
203.19.208.0/24
203.19.228.0/22
203.19.233.0/24
203.19.242.0/24
203.19.248.0/23
203.19.255.0/24
203.20.17.0/24
203.20.40.0/23
203.20.44.0/24
...
...每行一条.
更换思路,发现真的做起来,用batch想要实现我要的功能太麻烦了.用别的编程语言来实现.
我原本是想用bat脚本来写一个批量添加防火墙规则和批量删除防火墙规则的功能,来方便自己,但是实际使用起来,速度太慢,于是我想换个思路,调用Windows的系统api.来添加和删除,这样可以秒加和秒删,于是我用C++开始重写,于是...废了我两天时间了,还没完成...越搞,加的功能越复杂!然后全部推倒,只写个最简单的,批量添加和删除功能即可,因为写个远程自动获取IP的话,还要面临后期的维护更新修改.越简单,越不容易出错.
程序使用了ifstream来读取ip.txt的文本内容,就算里面几万行,也是秒读.
然后调用了Windows的系统api来添加和删除防火墙规则,速度取决于你的电脑性能,我测试,2H2G的vps,添加一万行的速度,1秒不到...回想一下用bat写的脚本,7000个规则,加完我都睡了一觉起来了...删除更是慢到令人发指,于是我删除了原本写在这里的bat脚本..
程序使用UPX压缩..可能会报毒,所以自行选择用那个.
2.2.1的截图:







今天系统更新以后,我安装的StartAllBack突然失效了,估计又是和什么补丁冲突了,开始菜单没关系,但是这个Windows11的右键我是真的用不惯,想了想没必要专门去争对这个右键又去下载个软件,于是就写了两个Bat文件.如下图咯


压缩包放这里了.有需要的人自取,不过反正也没人看,自己留个备份
启用主服务器的专家模式选项-高级设置-找到"system.enable_expert_mode",选择"是"然后应用更改.
到你的主服务器(暂时称为A)上启用比特彗星的远程下载功能,在选项-右边栏倒数第二个-远程下载自己设置好用户名和密码,以及端口,建议不要使用默认.
到从属服务器上添加RSS源.选项-右边栏-RSS-添加
那么问题来了,添加什么呢,添加的就是你的A服务器上的远程网页地址,只不过地址稍微有一点不同,http://yourname:[email protected]:1235/panel/task_list_rss注意其中的用户名和密码以及IP地址换成你自己的,也就是A服务器的
添加这个rss源以后自己设置好监听时间,以及数量,然后启用即可,这样即可N台服务器自动同步了,你只需要把资源添加到A服务器即可.




#rarbg相关的推还是很多的,看样子不是我被劫持...

[collapse status="false" title="开启方法以及伪静态规则"]
Xiuno BBS 4.x 需要编辑 conf/conf.php
编辑 'url_rewrite_on'=>1
清空 tmp 目录location ~* \.(htm)$ {
rewrite "^(.*)/(.+?).htm(.*?)$" $1/index.php?$2.htm$3 last;
}<IfModule mod_rewrite.c>
RewriteEngine on
# Apache 2.4
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*?)([^/]*)$ $1index.php?$2 [QSA,PT,L]
# Apache other
#RewriteRule ^(.*?)([^/]*)\.htm(.*)$ $1/index.php?$2.htm$3 [L]
</IfModule><?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="xiuno">
<match url="^((.*)/)?(.+).html$" />
<action type="Rewrite" url="{R:1}\index.php?{R:2}.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>www.yourdomain.com
# Set this path to your site's directory.
root * /var/www
file_server
# Or serve a PHP site through php-fpm:
php_fastcgi localhost:9000在网站根目录建立config.yaml文件,内容如下
appname: axiuno
version: 1
handle:
- rewrite: if ( !is_dir() && !is_file() && path ~ "admin/(.*.htm)" ) goto "admin/index.php?%1"
- rewrite: if ( !is_dir() && !is_file() && path ~ "[^/?].htm" ) goto "index.php?%1"[/collapse]
[collapse status="false" title="解决XiunoBBS出现白屏,500错误等问题"]
修改网站根目录index.php文件
// 0: Production mode; 1: Developer mode; 2: Plugin developement mode;
// 0: 线上模式; 1: 调试模式; 2: 插件开发模式;
!defined('DEBUG') AND define('DEBUG', 2);开启调试模式或插件开发模式,可以查看网站的出错信息。
一般开启调试模式后都能看到出错的代码行,想想你最近安装的插件,去后台挨个禁用,慢慢排查。排查完毕,将 DEBUG 改回 0。
这里不得不说,大部分插件写的很一般。
如果 DEBUG 为 2 的时候没有错误,改为 0 出错。则修改 xiunophp/xiunophp.min.php 文件第18行,将 error_reporting() 的参数中的 0 改为 E_ALL
error_reporting(DEBUG ? E_ALL : E_ALL);进入后台清理缓存。不要以为直接删除tmp/*就可以了,如果你使用了redis和Memcached,还得靠后台清理才能清干净。
修改网站根目录下面的index.php,将DEBUG改为3,就可以直接不需要密码进入管理员后台,然后进去以后找到用户列表修改密码,在把DEBUG改为0
//3为无密码直接进入后台,记得改完以后改回来,也就是改成0
!defined('DEBUG') AND define('DEBUG', 3);[/collapse]
写一个bash脚本,在插件目录运行
#!/bin/bash
mkdir 0
mdir=`pwd`/0
dirlist=`ls -d */`
for pdir in $dirlist
do
grep "installed\"\: 0" $pdir/conf.json > /dev/null
if [ $? -eq 0 ];then echo $pdir;mv $pdir $mdir/;fi
done
dirlist=`ls -d */`
for pdir in $dirlist
do
grep "enable\"\: 0" $pdir/conf.json > /dev/null
if [ $? -eq 0 ];then echo $pdir;mv $pdir $mdir/;fi
done使用xiuno搭建的论坛,在访问一个不存在的页面时,比如 ./test-1.htm
默认情况下,访问这个不存在的页面时,会自动跳转到首页,这会造成被恶意SEO
解决办法:
修改网站目录下的index.inc.php,第71行、72行,改成下面的代码:
//include _include(APP_PATH.'route/index.php'); break;
http_404();打开xiunophp/misc.func.php,定位到第486行,找到如下代码:
if($seconds > 31536000) {
return date('Y-n-j', $timestamp);
}修改为:
if($seconds > 259200 ) { return date('Y-m-d H:i:s', $timestamp); }打开xiunophp/xiunophp.min.php,定位到第56行,找到如下代码
if($seconds > 31536000) { return date('Y-n-j', $timestamp); }修改为:
if($seconds > 259200 ) { return date('Y-m-d H:i:s', $timestamp); }后台清理缓存.
XIUNOBBS后台插件排序方法,启用的插件排在前面.
排序方法:打开文件/model/plugin.func.php,找到第53行的plugin_init()函数,在该函数尾部修改一下
原代码如下:
// 本地 + 线上数据
$plugins[$dir] = plugin_read_by_dir($dir);
}
}
}修改为以下代码即可
// 本地 + 线上数据
$plugins[$dir] = plugin_read_by_dir($dir);
}
//插件排序
$plugins = plugin_list_sort($plugins, "installed");
$plugins = plugin_list_sort($plugins, "enable");
}
}
//二维数组排序 TRUE FALSE
function plugin_list_sort($arrlist, $col, $asc = FALSE){
$colarr = $arr = array();
foreach($arrlist as $k=>$v){
$colarr[$k] = $v[$col];
}
if($asc == TRUE){
asort($colarr);
}else{
arsort($colarr);
}
reset($colarr);
foreach($colarr as $k=>$v){
$arr[$k] = $arrlist[$k];
}
return $arr;
}默认选择多个tag标签以后,出现的帖子顺序是从最古老的帖子开始排序的,这样非常不友好,如果你的站点数据多,哪筛选一下第一页全部是上古时期的主题.改改,让他从最新的主题开始排序
打开/plugin/xn_tag/hook/forum_thread_list_before.php在95行左右找到如下:
$threadlist = thread_find_by_tids($tids);替换成:
$threadlist = thread_find_by_tids($tids, array('tid' => 'DESC'));然后再次筛选就会发现是从最新的主题开始了
顺便记录一个,默认插件是可以让你选择多个标签的,如果你的站点需求,只让单选,可以做如下修改.打开/plugin/xn_tag/hook/post_js.htm,把里面所有的内容替换为如下内容:
<script>
var forumlist = <?php echo xn_json_encode($forumlist_show); ? >;
// 初始化值,选中的值
var tagids = <?php echo xn_json_encode($tagids); ? >;
var action = '<?php echo $action;?>';
var jfid = $('select[name="fid"]');
var fid = <?php echo intval($fid); ? >||$('select[name="fid"]').val();
jfid.on('change',
function() {
var fid = jfid.val();
fid_on_change(fid);
});
function fid_on_change(fid) {
var s = '';
var forum = forumlist[fid];
$.each(forum.tagcatelist,
function(k, tagcate) {
s += '<select class="custom-select mr-1 mb-3 w-auto" name="tagid[]">';
s += '<option value=0>' + tagcate.name + '</option>';
$.each(tagcate.taglist,
function(k, tag) {
s += '<option value=' + tag.tagid + (xn.in_array(tag.tagid, tagids) || (tag.tagid == tagcate.defaulttagid && action == 'selected') ? ' selected': '') + '>' + tag.name + '</option>';
});
s += '</select>';
});
$('#nav_tag_list_div').html(s);
}
fid_on_change(fid);
$('#nav_tag_list_div').on('click', 'a.tag_option',
function() {
var jthis = $(this);
var tagid = jthis.attr('tagid');
jthis.toggleClass('active');
// 隐藏域
var v = jthis.hasClass('active') ? tagid: '';
jthis.next().attr('value', v);
});
// tag 选中区域。
</script>开发模式改/xiunophp/misc.func.php注释掉大约390行和396行的代码
$page != 1 && $s .= pagination_tpl(str_replace('{page}', $page-1, $url), '◀', '');$page != $totalpage && $s .= pagination_tpl(str_replace('{page}', $page+1, $url), '▶');我TM,奇怪了,怎么粘贴上来变成了emoji表情...
线上模式改/xiunophp/xiunophp.min.php删除掉如下内容:
$page != 1 && $s .= pagination_tpl(str_replace('{page}', $page-1, $url), '◀', '');$page != $totalpage && $s .= pagination_tpl(str_replace('{page}', $page+1, $url), '▶');开发模式打开/xiunophp/misc.func.php大约第378行找到$shownum = 5; // 显示多少个页 * 2改为$shownum = 2;
线上模式打开/xiunophp/xiunophp.min.php搜索$shownum = 5;改为$shownum = 2;
意思是左右各几个页码,5就是10个,2就是4个
打开/view/js/xiuno.js在大约1122行找到var qulity = options.qulity修改后面的数字,1为位无损,小于1则压缩图片质量
找到你正在使用的模板目录的thread.htm文件,在合适位置加入如下内容:
比如我用的默认模板,就打开view/htm/thread.htm在147行左右加入下面的代码.
<?php if(empty($uid)){?>
<div class="card text-center"><p></p><p class="text-center">
你可以在 <a href="<?php echo url("user-login");?>"><b>登录</b></a> or <a href="<?php echo url("user-create");?>"><b>注册</b></a> 后,对此帖发表评论!</p>
</div>
<?php }?>默认上传透明背景的PNG图片会直接显示为黑色背景,解决方法如下:
1.打开view/js/xiuno.js文件,在大约1121行找到如下内容进行替换,
替换前:
var thumb_height = options.height || 2400;
var action = options.action || 'thumb';
var filetype = options.filetype || xn.image_file_type(file_base64_data);//xn.base64_data_image_type(file_base64_data);
var qulity = options.qulity || 0.9; // 图片质量, 1 为无损
if(thumb_width < 1) return callback(-1, '缩略图宽度不能小于 1 / thumb image width length is less 1 pix');替换后:
var thumb_height = options.height || 2400;
var action = options.action || 'thumb';
//var filetype = options.filetype || xn.image_file_type(file_base64_data);//xn.base64_data_image_type(file_base64_data);
var filetype = xn.image_file_type(file_base64_data);//xn.base64_data_image_type(file_base64_data);
var qulity = options.qulity || 0.9; // 图片质量, 1 为无损
if(thumb_width < 1) return callback(-1, '缩略图宽度不能小于 1 / thumb image width length is less 1 pix');2.在1226行左右找到if(filetype == 'jpg') filetype = 'jpeg';在下面增加一行if(filetype == 'png') filetype = 'png';.具体如下:
//filetype = 'png';
if(filetype == 'jpg') filetype = 'jpeg';
if(filetype == 'png') filetype = 'png';
var s = canvas.toDataURL('image/'+filetype, qulity);
if(callback) callback(0, {width: width, height: height, data: s});3.清空后台缓存,强制刷新浏览器看效果
找到/git_tags/view/js/tag.js把63,88以及97行的?tag-xxx.htm前面的问号去掉即可.或者你可以直接下载附件.
git_tags伪静态修复版
要是还不放心,自己对照着改吧
//自己在你的tag.js里面搜索下面这三个,去掉tag前面的问号.
...
var url = '?tag-del.htm'
...
var url = '?tag-add.htm'
...
a href="?tag-'+msg+'.htm"
...1.打开/plugin/haya_post_info/hook/thread_list_inc_username_before.htm
找到:
<a href="<?php echo url("forum-$_thread [fid]");?>" target="_blank" title="<?php echo $_thread ['forumname'];?>" class="badge small mr-2 haya-post-info-home-thread-forum-username-before">替换为:
<a href="<?php echo url("forum-$_thread [fid]");?>" target="_blank" title="<?php echo $_thread ['forumname'];?>" class="badge
<?php if ($_thread ['fid'] == 1) { ?>
badge-primary
<?php } ?>
<?php if ($_thread ['fid'] == 2) { ?>
badge-secondary
<?php } ?>
<?php if ($_thread ['fid'] == 3) { ?>
badge-success
<?php } ?>
<?php if ($_thread ['fid'] == 4) { ?>
badge-info
<?php } ?>
<?php if ($_thread ['fid'] == 5) { ?>
badge-warning
<?php } ?>
<?php if ($_thread ['fid'] == 6) { ?>
badge-danger
<?php } ?>
<?php if ($_thread ['fid'] == 7) { ?>
badge-secondary
<?php } ?>
<?php if ($_thread ['fid'] == 8) { ?>
badge-dark
<?php } ?>
<?php if ($_thread ['fid'] == 9) { ?>
badge-primary
<?php } ?>
<?php if ($_thread ['fid'] == 10) { ?>
badge-warning
<?php } ?> small mr-2 haya-post-info-home-thread-forum-username-before">2.后台帖子增强插件设置 - 首页帖子列表显示板块2 - 开启
举例:
比如红色就按照这样子格式:badge-danger
<?php if ($_thread ['fid'] == 5) { ?>
badge-danger
<?php } ?>附上颜色对照表:
可能有人不太喜欢那个小旗帜图标,把置顶图标直接换成向上顶的箭头吧
css代码,放到:全局 : html > head (css)
<style>
[class^="icon-top-"]:before {
content: "\f0aa";}
</style>简单的说就是让搜索支持组合搜索,比如你站点上有个标题叫我是你爹的文章,搜索我或者你爹都可以收到,如果你搜索我+空格+你爹中间多一个空格你会发现什么都没有.毕竟上古时期的玩意了,修复修复. 打开xn_search\route\search.php ,添加和修改以下代码
foreach($keyword_arr as $key => $cond_val){
$cond_sql .= ($range == 1?"subject":"message")." LIKE '%$cond_val%'";
if($key != count($keyword_arr) - 1)$cond_sql .= ' AND ';
}打开index.inc.php,找到如下:
case 'thread': include _include(APP_PATH.'route/thread.php'); break;在下面添加一行.其中tiezi就是你要自定义的url字段.不能改成已经存在的字段.
`case 'tiezi': include _include(APP_PATH.'route/thread.php'); break;`完事以后修改一下所有你在用的模板和插件里面对应的.把thread改成你要的.清理缓存,完事.
代码放到自定义JS里面,作用于全局.
<script>!function() {
$("a").each(function() {
var url = $(this).attr('href');
if (url.length > 0 && url.indexOf('http') >= 0 && url.indexOf(window.location.host) < 0) {
// console.log(url);
$(this).click(function() {
$.confirm('即将离开网站,请注意您的帐号和财产安全。</br>' + $(this).attr('href') + '', function() {
window.open(url);
});
return false;
});
}
});}();</script>适合有强迫症的人,不喜欢装太多插件的.
使用的JS就2KB大小,项目地址:https://tokinx.github.io/ViewImage/
在你要实现图片灯箱的页面加入下面的html即可,默认只需要加在主题页面
<script>
$(".message img").on("click",function (){
window.ViewImage && ViewImage.init('.message img');
});
</script>
<script src="//tokinx.github.io/ViewImage/view-image.min.js"></script>或者使用大白自定义工具,添加到主题页的html或者js中
xhr.responseText:, type:error注释掉post.func.php 里的include xn_html_safe.func.php 即可,但是不建议这样,有安全风险
打开/view/css/bootstrap-bbs.css大概242行,找到
.message img {
...
}替换为
.message img {
max-width: 100%;
height: auto !important;
border: 1px solid #dee2e6;
margin-bottom: 0.75rem;
margin-right: 0.5em;
border-radius:6px;
box-shadow: 6px 6px 12px 0px rgba(0,0,0,0.2),0px 0px 8px 0px rgba(0,0,0,0.19);
}
]]>
]]>[album type="photos"]


[/album]
memcached的文章,里面都是装的memcache,我怀疑他们根本分不清楚memcache和memcached,所以我们得出一个结论,就是百度傻逼.首先你要去https://github.com/lifenglsf/php_memcached_dll 下载最新的dll文件,别问为什么去这里,你以为我没去尝试官方的dll么?解压后得到如下文件.[特别注意,如果没其他需求,选择对应版本basic包中的文件即可]
然后选择你所需要的版本,如果你是非线程安全就选NTS如果是启用了线程安全就选TS,具体这个怎么看..还有到底是x86还是x64嘛..你新建一个info.php文件然后内容如下:
<?php
phpinfo();
?>然后通过你的浏览器访问你的域名/info.php即可查看到你的信息,如下图:
复制文件到指定目录,比如我的环境是x64和nts以及php7.4,且我想用3.2.0版本,那么就是/3.2.0/basic/php7.4/nts_x64目中的DLL文件.具体如下
php_memcached.dll到你的php版本对应目录的ext文件夹下.libmemcached.dll到你的php版本根目录下kangle.那么打开php-templete.ini,在最后面加上extension=php_memcached.dll[memcached]
extension=php_memcached.dll安装成功以后再次访问你的域名/info.php可以在其中看到Memcached已经出来了,如下图:
你也可以使用这个这个小工具来检测你的安装是否有效,上传访问即可,如果是远程memcached服务端,注意修改里面的IP地址.虽然写的是memcache,但是同样适用于memcached
memcached检测工具
Windows系统下memcached请求和通讯是需要memcache的,也就是说.你还需要启用memcache哈哈,不过一般现在什么集成环境都已经默认启用了memcahe如果没启用,找到对应的php-templete.ini文件,找到;extension=memcache去掉前面的;,然后重启php,或者重启web server.如果你连memcahe扩展都没有,哪麻烦你再去百度一下吧,这个我就不发了.太简单了
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Cache-Control: no-cache,no-store
Recaptcha: Anti-CC
<html><body><script language="Javascript">window.location="{{url}}";</script><a href="{{url}}"><div class="notice">
<div class="title">You have verified successfully</div>
<div class="description">Please wait, you are being redirected …</div>
</div></a></body></html>HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Cache-Control: no-cache,no-store
Recaptcha: Anti-CC
<!DOCTYPE html>
<meta charset="utf-8">
<style>
body,h1,h2,h3,h4,p,form,ol,ul{margin:0;}
ol,ul{padding:0;}
body,textarea,input,option,button{font:1.5em "PT Serif",\5FAE\8EDF\6B63\9ED1\9AD4,\5FAE\8F6F\96C5\9ED1,\534E\6587\7EC6\9ED1,Georgia,Times,"Times New Roman",serif;color:#222;}
h1,h2,h3,h4{font-weight:300;}
textarea:focus,input:focus{outline:none;}
::selection{background:rgba(0,149,255,0.1);}
ul{list-style-type:none;}
a{color:#333;text-decoration:none;}
html{overflow:auto;overflow-y:scroll;}
img{border:0 none;width:55px;height:54px;}
.o{overflow:hidden;zoom:1;}
.l{float:left;}
.r{float:right;}
html{text-align:center;}
h1{font-size:3em;padding:1em 0;}
p{padding:10px 0;}
.footer{padding:3em;color:#999;}
</style>
<title>CDN 安全防护系统</title>
<script>
function addZero(str,lenght){
return (Array(lenght).join(0) + str).slice(-lenght);
}
function goto()
{
s1=2268322/151;
s2=6585-151;s1=addZero(s1,5);s2=addZero(s2,5);se=s1+s2;
location.href="{{murl}}";}</script><h1>CDN 安全防护系统</h1><p>该网站可能遇到CC攻击,正在对您的身份进行鉴定,单击下方按钮跳转至该网站</p><p><input type="button" onclick="goto();" value="-> 继续访问 <-" /></p><div class="footer">© CDN 安全防护系统</div>HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Cache-Control: no-cache,no-store
Recaptcha: Anti-CC
<!DOCTYPE html>
<meta charset="utf-8">
<style>
body,h1,h2,h3,h4,p,form,ol,ul{margin:0;}
ol,ul{padding:0;}
body,textarea,input,option,button{font:1.5em "PT Serif",\5FAE\8EDF\6B63\9ED1\9AD4,\5FAE\8F6F\96C5\9ED1,\534E\6587\7EC6\9ED1,Georgia,Times,"Times New Roman",serif;color:#222;}
h1,h2,h3,h4{font-weight:300;}
textarea:focus,input:focus{outline:none;}
::selection{background:rgba(0,149,255,0.1);}
ul{list-style-type:none;}
a{color:#333;text-decoration:none;}
html{overflow:auto;overflow-y:scroll;}
img{border:0 none;width:55px;height:54px;}
.o{overflow:hidden;zoom:1;}
.l{float:left;}
.r{float:right;}
html{text-align:center;}
h1{font-size:3em;padding:1em 0;}
p{padding:10px 0;}
.footer{padding:3em;color:#999;}
</style>
<title>CDN安全防护系统</title>
<script>
function addZero(str,lenght){
return (Array(lenght).join(0) + str).slice(-lenght);
}
function goto()
{
s1=16319-813;
s2=15689274/813;s1=addZero(s1,5);s2=addZero(s2,5);se=s1+s2;
location.href="{{murl}}";}setTimeout("goto()",5000);</script><h1>CDN 安全防护系统</h1><p>该网站可能遇到CC攻击,正在对您的身份进行鉴定,请等候几秒钟</p><p><!--input type="button" onclick="goto();" value="-> 继续访问 <-" /--><img src="data:image/gif;base64,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"></p><div class="footer">© CDN 安全防护系统</div>
]]>get_magic_quotes_gpc()函数错误症状如下:
//报错信息
Deprecated: Function get_magic_quotes_gpc() is deprecated in .....1.打开/xiunophp/xiunophp.min.php和/xiunophp/xiunophp.php.找到这两个文件的第20行.如下
$get_magic_quotes_gpc = get_magic_quotes_gpc();替换为
$get_magic_quotes_gpc = 0;2.打开/xiunophp/xn_html_safe.func.php 分别在第785行,第938行,第951行.找到rawtext{....}替换为rawtext[....],算了,我怕有些人看不懂,我放个代码片段上来.如下:
//说白了,就是把{}替换成[],因为数组{}也被弃用了..
//替换前
function scanCharacter() {
if ($this->position < $this->length) {
return $this->rawtext{$this->position++};
}
}
//替换后的代码片段
function scanCharacter() {
if ($this->position < $this->length) {
return $this->rawtext[$this->position++];
}
}
//注意有3个地方需要替换,785行,938行,951行http_url_path报错找到xiunophp/misc.func.php文件大约1035行到1045行.进行如下替换
// 获取 http://xxx.com/path/
function http_url_path() {
$port = _SERVER('SERVER_PORT');
//$portadd = ($port == 80 ? '' : ':'.$port);
$host = _SERVER('HTTP_HOST'); // host 里包含 port
$https = strtolower(_SERVER('HTTPS', 'off'));
$proto = strtolower(_SERVER('HTTP_X_FORWARDED_PROTO'));
$path = substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/'));
$http = (($port == 443) || $proto == 'https' || ($https && $https != 'off')) ? 'https' : 'http';
return "$http://$host$path/";
}// 获取 http://xxx.com/path/
function http_url_path() {
$port = _SERVER("SERVER_PORT");
//$portadd = ($port == 80 ? "" : ":".$port);
$host = _SERVER("HTTP_HOST"); // host 里包含 port
$https = strtolower(_SERVER("HTTPS", "off"));
$proto = _SERVER("HTTP_X_FORWARDED_PROTO") ? strtolower(_SERVER("HTTP_X_FORWARDED_PROTO")) : ""; //加判断
$path = substr($_SERVER["PHP_SELF"], 0, strrpos($_SERVER["PHP_SELF"], "/"));
$http = (($port == 443) || $proto == "https" || ($https && $https != "off")) ? "https" : "http";
return "$http://$host$path/";
}前面都解决了,最后安装到写入数据库的时候又出现了Server Response Empty!报错.解决办法超级简单,因为Mysql8.0和之前的版本有蛮多不同.如下:
打开/install/install.sql.将78行的rank替换为ˋrankˋ.参考下面的
name char(16) NOT NULL default '', # 版块名称
rank tinyint(3) unsigned NOT NULL default '0', # 显示,倒序,数字越大越靠前
threads mediumint(8) unsigned NOT NULL default '0', # 主题数name char(16) NOT NULL default '', # 版块名称
`rank` tinyint(3) unsigned NOT NULL default '0', # 显示,倒序,数字越大越靠前
threads mediumint(8) unsigned NOT NULL default '0', # 主题数
]]>