ホームページ  >  記事  >  バックエンド開発  >  PHPセッションの問題

PHPセッションの問題

WBOY
WBOYオリジナル
2016-06-23 14:12:42810ブラウズ

この投稿は、u010001532 によって 2013-06-08 18:00:51 に最終編集されました

PHP セッション

セッションを使用して、ログインしているユーザーが特定のページにアクセスできるようにしたいのですが、ログインしていないユーザーはアクセスできないようにしたいです。

しかし、ブラウザにページのアドレスを入力することで、そのページに直接アクセスできるようになりました。指導を求めてください。

//index.php
session_start();if(Login() == true){  $_SESSION['login'] = 'ok';  //跳转到page.php}else{  echo "Login error";}


//page.php
session_start();echo $_SESSION['login'];if(empty($_SESSION['login'])||$_SESSION['login']!='ok') //未登陆则跳回index{  ?><script>setTimeout('window.location="index.php"', 1000);</script><?}..........<script language="javascript">function goBack(){    AjaxTest();    window.location.href = "./index.php";}function AjaxTest()    {        xmlHttp=GetXmlHttpObject();        if (xmlHttp==null)        {            alert ("Browser does not support HTTP Request");            return;        }        var url = "ajax.php";        url += "?login=out";        xmlHttp.onreadystatechange=stateChanged         xmlHttp.open("GET",url,true)        xmlHttp.send(null)    }    function stateChanged()     {         if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")        {            alert(xmlHttp.responseText );        }     }    function GetXmlHttpObject()    {        var xmlHttp=null;        try        {            // Firefox, Opera 8.0+, Safari            xmlHttp=new XMLHttpRequest();        }        catch (e)        {            // Internet Explorer            try            {                xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");            }            catch (e)            {                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");            }        }        return xmlHttp;    }</script>


//ajax.php
<?    $login = $_GET["login"];        session_start();    unset($_SESSION['login']);     session_destroy();    echo "success";?>

ディスカッションへの返信 (解決策)

page.php ページにアクセスすると、出力セッション値があります 何か?
最後に、page.php の if でページにジャンプした後の exit を追加します。

page.php ページにアクセスしたときのセッション出力は価値がありますか?

最後に、page.php の if でページにジャンプした後に exit を追加します
ログイン後、出力は OK です
exit を追加する場合も同様です

page.php ページにアクセスしたときのセッション出力です貴重な?
最後に、page.php の if でページにジャンプした後に exit を追加します
ログインすれば印刷はOKです
exit を追加した場合も同様です
すでにログインしていますので、もちろん可能ですpage.php に直接アクセスします


あなた page.php ページにアクセスするとき、出力セッションは価値がありますか?
最後に、page.php; の if でページにジャンプした後に exit を追加します
ログイン後、印刷すればOKです
exit の追加も同様です
ログイン済みなので、もちろんページに直接アクセスできます。 php


しかし、goBack を介してインデックスに戻るか、ブラウザにページのアドレスを直接入力して直接アクセスできます



page.php ページにアクセスしたときのセッション出力は価値がありますか?
最後に、page.php; の if でページにジャンプした後に exit を追加します
ログイン後、印刷すればOKです
exit の追加も同様です
ログイン済みなので、もちろんページに直接アクセスできます。 php


ただし、goBack を介してインデックスに戻るか、ブラウザにページのアドレスを直接入力して直接アクセスできます
ログイン後、セッションはサーバー側に保存されるため、次のことができます。 page.phpに直接アクセスします。ログアウト機能をトリガーするかセッションを強制終了しない限り。




page.php ページにアクセスしたときのセッション出力は価値がありますか?
最後に、page.php; の if でページにジャンプした後に exit を追加します
ログイン後、印刷すればOKです
exit の追加も同様です
ログイン済みなので、もちろんページに直接アクセスできます。 php


ただし、goBack を介してインデックスに戻るか、ブラウザにページのアドレスを直接入力して直接アクセスできます
ログイン後、セッションはサーバー側に保存されるため、次のことができます。 page.phpに直接アクセスします。ログアウト機能をトリガーするかセッションを強制終了しない限り。

はい、セッションを強制終了したいだけですが、まだ機能しません。 。 。
session_start();
unset($_SESSION['login']);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。