;
//if($ip != $_ip) return FALSE;
//if($time - $_time > 86400) return FALSE;
// 检查密码是否被修改。
if($time - $_time > 1800) {
$user = user_read($_uid);
if(empty($user)) return 0;
if(md5($user['password']) != $_pwd) {
return 0;
}
}
return $_uid;
}
// 设置 token,防止 sid 过期后被删除
function user_token_set($uid) {
global $time, $conf;
if(empty($uid)) return;
$token = user_token_gen($uid);
setcookie('bbs_token', $token, $time + 8640000, $conf['cookie_path']);
}
function user_token_clear() {
global $time, $conf;
setcookie('bbs_token', '', $time - 8640000, $conf['cookie_path']);
}
function user_token_gen($uid) {
global $ip, $time, $conf;
$user = user_read($uid);
$pwd = md5($user['password']);
$tokenkey = md5(xn_key());
$token = xn_encrypt("$ip $time $uid $pwd", $tokenkey);
return $token;
}
// 前台登录验证
function user_login_check() {
global $user;
empty($user) AND http_location(url('user-login'));
}
// 获取用户来路
function user_http_referer() {
$referer = param('referer'); // 优先从参数获取 | GET is priority
empty($referer) AND $referer = array_value($_SERVER, 'HTTP_REFERER', '');
$referer = str_replace(array('\"', '"', '<', '>', ' ', '*', "\t", "\r", "\n"), '', $referer); // 干掉特殊字符 strip special chars
if(
!preg_match('#^(http|https)://[\w\-=/\.]+/[\w\-=.%\#?]*$#is', $referer)
|| strpos($referer, 'user-login.htm') !== FALSE
|| strpos($referer, 'user-logout.htm') !== FALSE
|| strpos($referer, 'user-create.htm') !== FALSE
|| strpos($referer, 'user-setpw.htm') !== FALSE
|| strpos($referer, 'user-resetpw_complete.htm') !== FALSE
) {
$referer = './';
}
return $referer;
}
function user_auth_check($token) {
global $time;
$auth = param(2);
$s = decrypt($auth);
empty($s) AND message(-1, lang('decrypt_failed'));
$arr = explode('-', $s);
count($arr) != 3 AND message(-1, lang('encrypt_failed'));
list($_ip, $_time, $_uid) = $arr;
$_user = user_read($_uid);
empty($_user) AND message(-1, lang('user_not_exists'));
$time - $_time > 3600 AND message(-1, lang('link_has_expired'));
return $_user;
}
?>
Fatal error: Uncaught Error: Call to undefined function post_find_by_tid() in /www/wwwroot/xiuno/tmp/route_thread.php:316
Stack trace:
#0 /www/wwwroot/xiuno/tmp/index.inc.php(77): include()
#1 /www/wwwroot/xiuno/index.php(52): include('/www/wwwroot/xi...')
#2 {main}
thrown in /www/wwwroot/xiuno/tmp/route_thread.php on line 316