因爲我的登錄無法正常工作我正在使用PHP和JavaScript來做到這一點。我的登錄不起作用,我不明白爲什麼? [請幫助]
PHP:
$users = sql("SELECT * FROM USERS WHERE SITE_ID='${CONFIG["ID"]}'");
if($_REQUEST["logindata"]){
$logindata = $_REQUEST["logindata"];
$now = array_shift(explode(" ",microtime()));
if($_REQUEST["time"] < strtotime("+10 sec",$now) && $_REQUEST["time"] > strtotime("-10 sec",$now))
exit(json_encode(array("TYPE"=>"FUNCTION","FUNCTION"=>"(\$login.failed(\"Time out for this request.. (Go away bots)\"))")));
foreach($users as $user){
if(hash_hmac("sha1",$user["LOGIN_SALT"],hash_hmac("sha1",$_SERVER["REMOTE_ADDR"],$_REQUEST["time"])) == $logindata){
$_SESSION = $user;
$_SESSION["ACTIVE_IP"] = $IP;
sql("UPDATE USERS SET ACTIVE_IP='${IP}' WHERE LOGIN_SALT='${user["LOGIN_SALT"]}'",0);
$result = json_encode(array("TYPE"=>"FUNCTION","FUNCTION"=>"(\$login.success())"));
}
}
!$result ? $result = json_encode(array("TYPE"=>"FUNCTION","FUNCTION"=>"(\$login.failed())")) : void;
}
的JavaScript:
login: (function() {
$("#ajax_loading").fadeIn("fast");
$("[type=submit]").fadeOut("fast");
$tmp.time = "" + (new Date()).valueOf();
return $functions.request({
type: "plugin",
plugin: "login",
time: $tmp.time,
logindata: $.sha1($.sha1($.sha1($("#username").val(),$("#password").val()),$client.domain),$.sha1($client.IP,$tmp.time))
});
}),
的$ .sha1功能,如果一個字符串賦予它是它的SHA1和如果兩個它會給一個HMAC_SHA1結果。
多少用戶你期望嗎? – 2010-10-03 19:04:44
很多,這將是一個有很多人註冊和記錄它的服務..該服務是一個網站生成器.. – 2010-10-20 10:08:25