
Ϊ֤ͨķ,ӦΪͻ.

֤ͨ˵¼ַ:

http://ϵͳڵ/do/login.php?passport_url=ͻ˵¼ӿڵURLԵַ

http://www.php168.com/do/login.php?passport_url=http://abc.php168.com/api.php

֤ͨ˳ַ:

http://ϵͳڵ/do/login.php?action=quit&passport_url=ͻ˳ӿڵURLԵַ


֤ͨעַ:

http://ϵͳڵ/do/reg.php?passport_url=ͻעӿڵURLԵַ


ͻ˽ӿڵURLԵַ?ŵĻ,Ҫurlencode


¼ɹ,עɹ,᷵md5code,ܺõֶεϢ

uid=&username=&password=&email=

ͻ˿ԸЩֶϢӦԶ¼Զע



ʹý뺯ķ

$detail=mymd5($md5code,"DE",'Կ,ȥվ̨');

ܺ

/**
*ܺ
**/
function mymd5($string,$action="EN",$rand=''){ //ַܺͽ 
    $secret_string = $rand.'5*j,.^&;?.%#@!'; //ַ,趨 

    if($string=="") return ""; 
    if($action=="EN") $md5code=substr(md5($string),8,10); 
    else{ 
        $md5code=substr($string,-10); 
        $string=substr($string,0,strlen($string)-10); 
    } 
    //$key = md5($md5code.$_SERVER["HTTP_USER_AGENT"].$secret_string);
	$key = md5($md5code.$secret_string); 
    $string = ($action=="EN"?$string:base64_decode($string)); 
    $len = strlen($key); 
    $code = ""; 
    for($i=0; $i<strlen($string); $i++){ 
        $k = $i%$len; 
        $code .= $string[$i]^$key[$k]; 
    } 
    $code = ($action == "DE" ? (substr(md5($code),8,10)==$md5code?$code:NULL) : base64_encode($code)."$md5code"); 
    return $code; 
}