上周六从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都已经打码了。

20160620212328

应c0lacan本人要求,暂不放出github项目地址。

Comments