getReal(); //解析信息 $stream_opts = [ "ssl" => [ "verify_peer"=>false, "verify_peer_name"=>false, ] ]; $ipInfo=json_decode(file_get_contents("https://api.ghink.net/ip/?ip=".$ip,false,stream_context_create($stream_opts)),true); //获取IP信息分区 $area=$ipInfo["city"]; //获取来路信息 $domain=explode("/",preg_replace("/https:\/\/|http:\/\//","",$_SERVER["HTTP_REFERER"]))[0]; switch($_GET["type"]){ //退出登陆模块 case "exit": setcookie("ghinkToken","",-1,"/"); header("location: oauth.php?type=log"); exit(); //实名认证模块 case "auth": $user=new user; if(!$user->checkToken($_COOKIE["ghinkToken"])){ $token=""; $url="Need Login"; echo str_replace("{{url}}",$url,str_replace("{{token}}",$token,file_get_contents(setting::root."template/authentication/authentication.html"))); }else{ $token=$_COOKIE["ghinkToken"]; //检查是否为中国大陆用户 $auth=new realNameAuth; $id=$user->getIdToken($token); $uid=$user->getUidId($id); $url=$auth->create($uid); if($user->getAreaUid($uid)=="global" || $auth->check($uid)){ header("location: oauth.php?type=panel"); }else{ echo str_replace("{{url}}",$url,str_replace("{{token}}",$token,file_get_contents(setting::root."template/authentication/authentication.html"))); } } exit(); //实名认证回调模块 case "authBack": if($_GET['tid']==""){ exit(file_get_contents(setting::root."template/403.html")); }else{ $realNameAuth=new realNameAuth; if($realNameAuth->getResult($_GET['tid'])){ echo file_get_contents(setting::root."template/authentication/success.html"); }else{ echo file_get_contents(setting::root."template/authentication/failed.html"); } } exit(); //实名失败模块 case "authFailed": echo file_get_contents(setting::root."template/authentication/failed.html"); exit(); //找回密码模块 case "find": echo "暂未开放 Not Open"; exit(); //面板模块 case "panel": $user=new user; if(!$user->checkToken($_COOKIE["ghinkToken"])){ header("location: oauth.php?type=log"); }else{ echo "暂未开放 Not Open
"; echo '点我进行实名认证
'; echo '您的UID为:'.$user->getUidId($user->getIdToken($_COOKIE["ghinkToken"])).'
'; echo '您的昵称为:'.$user->getNameUid($user->getUidId($user->getIdToken($_COOKIE["ghinkToken"]))).'
'; echo '退出登录
'; } exit(); //OAUTH模块核验 case "oauthCheck": //判断来路信息 if($domain==setting::domain){ if($_POST['tid']!=""){ $task=new task; if($task->checkOauth($_POST['tid'])){ if($_POST["email"]=="" || $_POST["pass"]==""){ //判断并输出信息 if($area==""){ echo json_encode(array("","Log in failed! ")); }else{ echo json_encode(array("","登陆失败!")); } }else{ $user=new user; $task=new task; $aid=$task->getAidTid($_POST['tid']); $result=$user->login($_POST["email"],$_POST["pass"],$ip,$aid); if($result==false){ //判断并输出信息 if($area==""){ echo json_encode(array("","Log in failed! ")); }else{ echo json_encode(array("","登陆失败!")); } }else{ //设置cookie setcookie("ghinkToken",$result,$ts+604800,"/"); $task->recordOauth($_POST['tid'],$result); //判断并输出信息 if($area==""){ echo json_encode(array($result,"Log in success! ")); }else{ echo json_encode(array($result,"登陆成功!")); } } } } }else{ //非法访问403 exit(file_get_contents(setting::root."template/403.html")); } }else{ //非法访问403 exit(file_get_contents(setting::root."template/403.html")); } exit(); //OAUTH模块 case "oauth": if($_GET['tid']!="" && $_GET['location']!=""){ //判断并输出模板 if($area==""){ echo str_replace("{{LOCATION}}",$_GET['location'],str_replace("{{TID}}",$_GET['tid'],file_get_contents(setting::root."template/oauth/en_US.html"))); }else{ echo str_replace("{{LOCATION}}",$_GET['location'],str_replace("{{TID}}",$_GET['tid'],file_get_contents(setting::root."template/oauth/zh_CN.html"))); } }else{ exit(file_get_contents(setting::root."template/403.html")); } exit(); //登录模块 case "log": $user=new user; if($_COOKIE['ghinkToken']!="" && $user->checkToken($_COOKIE['ghinkToken'])){ header("location: oauth.php?type=panel"); exit(); } //判断并输出模板 if($area==""){ echo file_get_contents(setting::root."template/log/en_US.html"); }else{ echo file_get_contents(setting::root."template/log/zh_CN.html"); } exit(); //登录核验模块 case "logCheck": if($domain==setting::domain){ if($_POST["email"]=="" || $_POST["pass"]==""){ //判断并输出信息 if($area==""){ echo json_encode(array("","Log in failed! ")); }else{ echo json_encode(array("","登陆失败!")); } }else{ $user=new user; $result=$user->login($_POST["email"],$_POST["pass"],$ip); if($result==false){ //判断并输出信息 if($area==""){ echo json_encode(array("","Log in failed! ")); }else{ echo json_encode(array("","登陆失败!")); } }else{ //设置cookie setcookie("ghinkToken",$result,$ts+604800,"/"); //判断并输出信息 if($area==""){ echo json_encode(array($result,"Log in success! ")); }else{ echo json_encode(array($result,"登陆成功!")); } } } }else{ //非法访问403 exit(file_get_contents(setting::root."template/403.html")); } exit(); //注册模块 case "reg": $user=new user; //判断并输出模板 if($area==""){ echo file_get_contents(setting::root."template/reg/en_US.html"); }else{ echo file_get_contents(setting::root."template/reg/zh_CN.html"); } exit(); //注册邮件发送模块 case "regMail": if($domain==setting::domain){ if($area==""){ //非空判断 if($_POST["email"]=="" || $_POST["pass"]=="" || $_POST["name"]==""){ exit("Auth mail send failed!"); }else{ //处理邮件请求 $user=new user; $result=$user->reg($_POST["name"],$_POST["pass"],$_POST["email"],$ip); if($result==false){ exit("Auth mail send failed! Maybe the user has already exist!"); }else{ echo "Auth mail has sent to your email! Please Check."; } } }else{ //非空判断 if($_POST["email"]=="" || $_POST["pass"]=="" || $_POST["name"]==""){ exit("验证邮件发送失败!"); }else{ //处理邮件请求 $user=new user; $result=$user->reg($_POST["name"],$_POST["pass"],$_POST["email"],$ip); if($result==false){ exit("验证邮件发送失败!可能是用户已经存在!"); }else{ echo "验证邮件发送成功!请查收。"; } } } }else{ //非法访问403 exit(file_get_contents(setting::root."template/403.html")); } exit(); //注册邮件验证模块 case "regMailCheck": //非空判断 if($_GET["email"]=="" || $_GET["tid"]=="" || $_GET["code"]==""){ exit(file_get_contents(setting::root."template/403.html")); }else{ //处理核验请求 $mail=new mail; $result=$mail->checkReg($_GET["email"],$_GET["tid"],$_GET["code"]); if($result){ //判断并输出模板 if($area==""){ echo file_get_contents(setting::root."template/regMailCheck/success_en_US.html"); }else{ echo file_get_contents(setting::root."template/regMailCheck/success_zh_CN.html"); } }else{ //判断并输出模板 if($area==""){ echo file_get_contents(setting::root."template/regMailCheck/failed_en_US.html"); }else{ echo file_get_contents(setting::root."template/regMailCheck/failed_zh_CN.html"); } } } exit(); //协议模块 case "agreement": //输出协议页 echo file_get_contents(setting::root."template/agreement.html"); exit(); //非法访问 default: //非法访问403 exit(file_get_contents(setting::root."template/403.html")); }