찾다

 >  Q&A  >  본문

로그인하지 않고 바로 페이지에 접속하려면 어떻게 해야 하나요? 로그인 기능을 삭제하려면 어떻게 해야 하나요?

<?php

/**

* 프론트 페이지 기본 수업

*/

class WebLoginBase는 WebBase를 확장합니다{

public $type;

공개 $groupId;

공개 $재생됨;

공개 $NO;

공개 $gameFanDian;

함수 __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("uid=?인 {$this->prename}멤버에서 fanDian을 선택하세요.", $GLOBALS['SUPER-ADMIN- UID']);

// 限同一个use户只能는 一个地方登录

if(!$this->getValue("select isOnLine from ssc_member_session where uid={$this->user['uid' ]} 및 session_key=? by id desc 제한 1", session_id())){

session_unset();

session_destroy();

header('location: /user/logout');

종료( '您已经退출발登录, 새로운 버전');

}

/*$session_key=$this->getValue("select session_key from ssc_member_session where uid={$this->user['uid']} 및 isOnLine=1 ID 설명 제한 1");

if($session_key != session_id()){

header('location: /user/logout');

exit('您已经退出登录,请重新登录');

}*/

}catch(Exception $e){

}

}

공용 함수 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;

}

공개 함수 getGameFanDian(){

if($this->gameFanDian) return $this->gameFanDian;

$this->getSystemSettings();

return $this->gameFanDian=$this-> ;settings['fanDianMax'];

}

공개 함수 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;

}

공용 함수 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){//Traverse

$file_location=$dir."/".$file;//경로 생성

if(is_dir($file_location) && $file!="." &&$ file !=".."){ //폴더인지 확인

//echo "------------로그인 $ file_location- ------------------";

//delete_file($file_location); //계속 탐색

}else if($file!="."&&$file!=".."){

if(substr_count($file,$str)>0){//如果文件name包含该字符串

unlink($dir."/".$file);

}

}

}

}

공용 함수 setcachefile($cacheFile, $getvalue){

$file=$this->cacheDir . '/'.md5($getvalue.$cacheFile);

$actionTime=$this->getGameCachetime($getvalue);

$cachefiletime=strtotime($actionTime);

$file=$file.'_ '.$캐시파일시간;

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();

}  

}*/

/**

* 사용자 자금의 변화

*

* 한 번의 거래로 사용해주세요

*/

공개 함수 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);

}

공용 함수 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);

}

/**

* 사용 가능한 리베이트 읽기

*/

공개 함수 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));

}

}

KeeviKeevi1360일 전2175

모든 응답(1)나는 대답할 것이다

  • 查无此人

    查无此人2021-03-15 09:51:34

    로그인하지 않고 직접 접속하는 것은 안전하지 않습니다.

    로그인 없이 누구나 입장할 수 있도록 하시겠습니까, 아니면 로그인 없이 본인만 입장할 수 있도록 하시겠습니까?

    아이디어를 하나 드리겠습니다:

    1. 아무도 로그인하지 않으면 사용자 판단을 제거하세요.不 2. 귀하에게 로그인하지 않는 사람은 두 가지 유형이 있습니다.

    1. IP 주소가 고정되어 있는 경우 해당 IP 주소가 귀하의 주소라고 판단하고 직접 입력할 수 있습니다.个 2. 페이지를 구체적으로 만들어서 직접 사용하고, 이 페이지에 들어가면 자동으로 로그인하여 들어갈 수 있습니다.

    회신하다
    0
  • 취소회신하다