您的位置:首頁技術文章
文章詳情頁

要怎么去實現不登錄可以直接訪問頁面,或者要怎么去除登陸功能

瀏覽:86日期:2022-06-03 09:15:09

問題描述

<?php/** * 前臺頁面基類 */class WebLoginBase extends WebBase{public $type;public $groupId;public $played;public $NO;public $gameFanDian;function __construct($dsn, $user='', $password=''){session_start();if(!$_SESSION[$this->memberSessionName]){header('location: /user/logout');exit('您沒有登錄');}try{parent::__construct($dsn, $user, $password);//$this->gameFanDian=$this->getValue("select fanDian from {$this->prename}members where uid=?", $GLOBALS['SUPER-ADMIN-UID']);// 限制同一個用戶只能在一個地方登錄if(!$this->getValue("select isOnLine from ssc_member_session where uid={$this->user['uid']} and session_key=? order by id desc limit 1", session_id())){session_unset();session_destroy();header('location: /user/logout');exit('您已經退出登錄,請重新登錄');}/*$session_key=$this->getValue("select session_key from ssc_member_session where uid={$this->user['uid']} and isOnLine=1 order by id desc limit 1");if($session_key != session_id()){header('location: /user/logout');exit('您已經退出登錄,請重新登錄');}*/}catch(Exception $e){}}public function freshSession(){if(!$this->user) return false;$sessionId=$this->user['sessionId'];if($this->user['testFlag']==1){$sql="select * from {$this->prename}guestmembers where uid=?";}else{$sql="select * from {$this->prename}members where uid=?";}$user=$this->getRow($sql, $this->user['uid']);$user['sessionId']=$sessionId;$user['_gameFanDian']=$this->getGameFanDian();$_SESSION[$this->memberSessionName]=serialize($user);$this->user=$user;return true;}public function getGameFanDian(){if($this->gameFanDian) return $this->gameFanDian;$this->getSystemSettings();return $this->gameFanDian=$this->settings['fanDianMax'];}public function getSystemSettings($expire=null){if($expire===null) $expire=$this->expire;$file=$this->cacheDir . 'systemSettings';if($expire && is_file($file) && filemtime($file)+$expire>$this->time){return $this->settings=unserialize(file_get_contents($file));}$sql="select * from {$this->prename}params";$this->settings=array();if($data=$this->getRows($sql)){foreach($data as $var){$this->settings[$var['name']]=$var['value'];}}file_put_contents($file, serialize($this->settings));return $this->settings;}public function getSystemCache($cacheFile,$getvalue='',$expire=null){if($expire < 30) $expire=$this->expire;$abbl=$cacheFile=='staticdata/gamedatas.php';$file=$abbl?$this->cacheDir.'/partNameList.dump':($this->cacheDir. '/systemplayed'.$getvalue.'_'.md5($cacheFile));//緩存文件存在且時間不超過10小時,則直接使用緩存的結果集,不在進行任何的MySQL查詢了 if($expire && is_file($file) && time()-filemtime($file) < $expire) { //使用緩存中的結果 if($abbl){$parts=file_get_contents($this->cacheDir.'/partNameList.dump');$cached='';foreach(json_decode($parts,1) as $part){ $cached.=file_get_contents($part).';';}echo $cached;}else{echo file_get_contents($file);}}else{//將結果集緩存ob_start();$this->display($cacheFile);$ob=ob_get_contents();if($abbl){$obs=explode(';',$ob);array_pop($obs);$partNameList=array();foreach($obs as $cached){$part=explode('=',str_replace('var','',$cached));$partNameList[]=$this->cacheDir.'/'.trim($part[0]);file_put_contents(end($partNameList),$cached); }file_put_contents($this->cacheDir.'/partNameList.dump',json_encode($partNameList));}else{file_put_contents($file,$ob); }ob_end_flush();} }/*public function delete_file($str){$dir=$this->cacheDir;$list = scandir($dir); // 得到該文件下的所有文件和文件夾foreach($list as $file){//遍歷$file_location=$dir."/".$file;//生成路徑if(is_dir($file_location) && $file!="." &&$file!=".."){ //判斷是不是文件夾//echo "------------------------sign in $file_location------------------";//delete_file($file_location); //繼續遍歷}else if($file!="."&&$file!=".."){if(substr_count($file,$str)>0){//如果文件名包含該字符串unlink($dir."/".$file);}}}}public function setcachefile($cacheFile, $getvalue){$file=$this->cacheDir. '/'.md5($getvalue.$cacheFile);$actionTime=$this->getGameCachetime($getvalue);$cachefiletime=strtotime($actionTime);$file=$file.'_'.$cachefiletime;if(is_file($file)) { echo file_get_contents($file);}else{ //刪除過期緩存$this->delete_file(md5($getvalue.$cacheFile)); //將結果集緩存ob_start();$this->display($cacheFile);file_put_contents($file,ob_get_contents()); ob_end_flush();} }*//** * 用戶資金變動 * * 請在一個事務里使用 */public function addCoin($log){if(!isset($log['uid'])) $log['uid']=$this->user['uid'];if(!isset($log['info'])) $log['info']='';if(!isset($log['coin'])) $log['coin']=0;if(!isset($log['type'])) $log['type']=0;if(!isset($log['fcoin'])) $log['fcoin']=0;if(!isset($log['extfield0'])) $log['extfield0']=0;if(!isset($log['extfield1'])) $log['extfield1']='';if(!isset($log['extfield2'])) $log['extfield2']='';$sql="call setCoin({$log['coin']}, {$log['fcoin']}, {$log['uid']}, {$log['liqType']}, {$log['type']}, '{$log['info']}', {$log['extfield0']}, '{$log['extfield1']}', '{$log['extfield2']}')";//echo $sql;exit;$this->insert($sql);}public function guestaddCoin($log){if(!isset($log['uid'])) $log['uid']=$this->user['uid'];if(!isset($log['info'])) $log['info']='';if(!isset($log['coin'])) $log['coin']=0;if(!isset($log['type'])) $log['type']=0;if(!isset($log['fcoin'])) $log['fcoin']=0;if(!isset($log['extfield0'])) $log['extfield0']=0;if(!isset($log['extfield1'])) $log['extfield1']='';if(!isset($log['extfield2'])) $log['extfield2']='';$sql="call guestsetCoin({$log['coin']}, {$log['fcoin']}, {$log['uid']}, {$log['liqType']}, {$log['type']}, '{$log['info']}', {$log['extfield0']}, '{$log['extfield1']}', '{$log['extfield2']}')";//echo $sql;exit;$this->insert($sql);}/** * 讀取可用返點 */public function getFanDian($uid=null){if($uid===null){if(!$uid=$this->user['parentId']){return $this->params['basePl'];}}return $this->getValue("select fanDian from {$this->prename}members where parentId=?", intval($uid));}}

問題解答

回答1:

不登陸直接訪問,會不安全。你是想做所有人進入等不需要登陸,還是做只對你個人進行不登陸。給你個思路: 1、所有人不登陸,直接去掉用戶判斷就可以了。 2、對你個人進行不登陸有2種: 一、如果你的ip地址是固定的,可以判斷ip地址 是你的地址,直接進入。二、可以專門做個頁面,自己使用的,進入這個頁面,自動登陸進入。

国产综合久久一区二区三区