上周六从PrSS站长c0lacan那里拿到了sspanel smarty edution的所有源码。
毕竟是开源项目,bug还是很多的,所以我做了第一个吃螃蟹的人。
拿到手之后先把所有页面全部推成繁体字,然后上传到了Sakura那台VPS里。
Nginx加了虚拟主机,然后不能运行,输出一堆错误日志。问过他之后才知道竟然还要SQLite3环境。
装上之后算是正常了,发现字串不只在主题文件夹下的tpl里有,一部分php也是有的。
结果玩着玩着机子宕了……妈的性能真捉急啊……
然后我把数据搬到了z.com用代金券开的那台服务器上,开始慢慢折腾慢慢改字。
我也不知道我为什么想要改成繁体字。
两天过去了帮他抓了一堆bug,修复速度倒是挺快。
不过一个问题,获取的用户登录IP获取到的是cdn的IP。
这个问题c0lacan好像不太在意,因为他的站子根本就没上cdn。
毕竟北京中产。有钱人,不怕打。
“D了我就换一个呗。”
问了他一些东西之后决定自己动手来改。
/*获取真实IP*/
function get_user_ip(){
$user_IP = '';
$unknown = 'unknown';
if (isset($_SERVER)){
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR']) && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown)){
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
foreach($arr as $realip){
$realip = trim($realip);
if ($realip != 'unknown'){
$user_IP = $realip;
break;
}
}
}else if(isset($_SERVER['HTTP_CLIENT_IP']) && !empty($_SERVER['HTTP_CLIENT_IP']) && strcasecmp($_SERVER['HTTP_CLIENT_IP'], $unknown)){
$user_IP = $_SERVER['HTTP_CLIENT_IP'];
}else if(isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown)){
$user_IP = $_SERVER['REMOTE_ADDR'];
}else{
$user_IP = $unknown;
}
}else{
if(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), $unknown)){
$user_IP = getenv("HTTP_X_FORWARDED_FOR");
}else if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), $unknown)){
$user_IP = getenv("HTTP_CLIENT_IP");
}else if(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), $unknown)){
$user_IP = getenv("REMOTE_ADDR");
}else{
$user_IP = $unknown;
}
}
$user_IP = preg_match("/[\d\.]{7,15}/", $user_IP, $matches) ? $matches[0] : $unknown;
return $user_IP;
}
这样就可以了,下面的IP都已经打码了。
应c0lacan本人要求,暂不放出github项目地址。

(っ゚Д゚)っ!!システムエラーが発生しました。
現在ご利用の国または地域ではサービス対象外となっております。ネットワーク環境変更後、再度アクセスをお試しください。
※サービス提供地域は利用規約でご確認いただけます。