Home >php教程 >php手册 >登陆界面限制到只允许一台机器在线

登陆界面限制到只允许一台机器在线

WBOY
WBOYOriginal
2016-06-21 09:11:52848browse

在线

ob_start();
session_start();
class CC{
    private $REFURL="http://www.abc.com";        //登陆成功后转换页面
    private $LoginFLAG=false;                //登陆成功标志
    private $loginFILE="loginmsg.txt";            //信息文件

    function setFlag($flag){
        $this->loginFLAG=$flag;
    }
    function check(){
    global $_POST;
        if(file_exists($this->loginFILE)&& (time()-filemtime($this->loginFILE))            $info=file($this->loginFILE);
            $username=trim($info[0]);    //已在线的登陆用户名
            $password=trim($info[1]);    //已在线密码(可以不保存)
            $ip     =trim($info[2]);    //已在线IP
            $sid     =trim($info[3]);    //已在线PORT
            if(strcmp($_SESSION[LoginUser],$username)==0){
                if(strcmp($_SESSION['LoginPw'],$password)==0){
                    if(strcmp($_SERVER[REMOTE_ADDR],$ip)==0){
                        if(strcmp(session_id(),$sid)==0){
                            $this->setFlag(true);
                            echo "

您的帐户可以确定是唯一的!

";
                            $cf=fopen($this->loginFILE,"a+");
                            fputs($cf,"\r\na");
                            fclose($cf);
                            echo "";
                            //echo "";
                        }else{
                            echo "不允许帐户在局网上同时登陆.. ".$_SERVER[REMOTE_PORT];
                            $this->LoginFLAG=false;
                        }                
                    }else{
                        echo "不允许使用帐户同时登陆..
";
                            $this->LoginFLAG=false;
                    }
                }else{
                    echo "密码错误..
";
                    $this->LoginFLAG=false;
                }
            }else{
            //这里验证身份如果正确则
                echo "帐户登陆时发生错误!用户名错误
";<br>            }<br>        }else{<br>            if(isset($_POST[LoginUser])){<br>                $_SESSION[LoginUser]=$_POST[LoginUser];<br>                $_SESSION[LoginPw]=$_POST[LoginPw];<br>                $fp=fopen($this->loginFILE,"w");<br>                $msg=$_POST['LoginUser']."\r\n".$_POST['LoginPw']."\r\n".$_SERVER[REMOTE_ADDR]."\r\n".session_id();;<br>                fputs($fp,$msg);<br>                fclose($fp);<br>            }else{<br>                $outtime=time()-filemtime($this->loginFILE)-60;<br>                echo "登陆不存在或您已经超时(".$outtime."秒)...";<br>            }<br>        }<br>    }<br>    function Wfrom(){<br>    global $_POST;<br>    if(!file_exists($this->loginFILE) ||(time()-filemtime($this->loginFILE))>60){        //登陆失败<br>    echo     

        
        

        用户名:


        
密码:

        
 
        

    

LOGINFORM;
    }else{
        echo "已有用户登陆";
    }
    }
}
$D=new CC;
$D->check();
$D->Wfrom();
?>



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn