• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

一个登陆验证的专用php类

PHP 水墨上仙 2908次浏览 0个评论

php封装的用户登陆验证的类,实现了用户登陆的常用功能,包含cookie和session的设置

class Auth
{
	var $user_id;
	var $username;
	var $password;
	var $ok;
	var $salt = "34asdf34";
	var $domain = ".domain.com";
 
	function Auth()
	{
		global $db;
 
		$this->user_id = 0;
		$this->username = "Guest";
		$this->ok = false;
 
		if(!$this->check_session()) $this->check_cookie();
 
		return $this->ok;
	}
 
	function check_session()
	{
		if(!empty($_SESSION['auth_username']) && !empty($_SESSION['auth_password']))
			return $this->check($_SESSION['auth_username'], $_SESSION['auth_password']);
		else
			return false;
	}
 
	function check_cookie()
	{
		if(!empty($_COOKIE['auth_username']) && !empty($_COOKIE['auth_password']))
			return $this->check($_COOKIE['auth_username'], $_COOKIE['auth_password']);
		else
			return false;
	}
 
	function login($username, $password)
	{
		global $db;
		$db->query("SELECT user_id FROM users WHERE username = '$username' AND password = '$password'");
		if(mysql_num_rows($db->result) == 1)
		{
			$this->user_id = mysql_result($db->result, 0, 0);
			$this->username = $username;
			$this->ok = true;
 
			$_SESSION['auth_username'] = $username;
			$_SESSION['auth_password'] = md5($password . $this->salt);
			setcookie("auth_username", $username, time()+60*60*24*30, "/", $this->domain);
			setcookie("auth_password", md5($password . $this->salt), time()+60*60*24*30, "/", $this->domain);
 
			return true;
		}
		return false;
	}		
 
	function check($username, $password)
	{
		global $db;
		$db->query("SELECT user_id, password FROM users WHERE username = '$username'");
		if(mysql_num_rows($db->result) == 1)
		{
			$db_password = mysql_result($db->result, 0, 1);
			if(md5($db_password . $this->salt) == $password)
			{
				$this->user_id = mysql_result($db->result, 0, 0);
				$this->username = $username;
				$this->ok = true;
				return true;
			}
		}			
		return false;
	}
 
	function logout()
	{
		$this->user_id = 0;
		$this->username = "Guest";
		$this->ok = false;
 
		$_SESSION['auth_username'] = "";
		$_SESSION['auth_password'] = "";
 
		setcookie("auth_username", "", time() - 3600, "/", $this->domain);
		setcookie("auth_password", "", time() - 3600, "/", $this->domain);
	}
 
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明一个登陆验证的专用php类
喜欢 (0)

您必须 登录 才能发表评论!

加载中……