-1

ウェブページのアイデアの一部をテストしながら、少しずつウェブページを作成しています。ページをセッション保護する方法を知りたいです。ページを安全にパスワードで保護しましたが、URL を入力するだけで誰でもページにアクセスできます。誰もそれをできないように、自分のページをセッション保護したい。私は3つのページを持っています.index.htmlは、password.phpを送信するフォームを持ち、password.phpは、「ifステートメント」を使用してパスワードとユーザー名が正しいことを確認します(ここでは「ifステートメント」です)

    if ($username == 'mgmb99'){
    if ($password == 'mgmb91mas'){
    header('Location: youhere.php');
    } else {
    echo 'your username or password is wrong.<a href="http://www.passwordtest.comze.com"> go back to login page </a>';
    }} else {
    echo 'your username or password is wrong.<a href="http://www.passwordtest.comze.com"> go back to login page </a>';
    };

、およびログイン後のページである youhere.php です。

4

3 に答える 3

0
$_SESSION['connect']=0;

セッションの接続値を 0 に設定します。

現在、このチェック:

  if((!$_SESSION['connect']))

$_SESSION['connect']が設定されていない場合は true になるため、常に true を返し!$_SESSION['connect']ます。同様if(!0)に真になります。

$_SESSION['connect']true または 1 などに設定してみるか、代わりにチェックを次のように変更します。

if(!array_key_exists('connect',$_SESSION))
于 2013-03-28T02:46:11.753 に答える
0

( ! $_SESSION['connect'] )will は、セッション変数が設定されていないときだけでなく、0 に設定されているときも true です。したがって、youhere.php を保護したい場合は、別の値を割り当てて確認する必要があります。

またsession_destroy()、すべてのセッション変数が削除されるため、ログインして youhere.php に移動しますが、サイトを更新するとすぐにログアウトされます

于 2013-03-28T02:47:06.930 に答える
0

PHP の Web サイトには、セッションに関する情報がたくさんあります。 http://www.php.net/manual/en/intro.session.php

セッション変数の保存と削除の例を次に示します。 http://www.php.net/manual/en/session.examples.basic.php

セッション変数を設定するには:

<?php
session_start();
if (!isset($_SESSION['count'])) {
  $_SESSION['count'] = 0;
} else {
  $_SESSION['count']++;
}
?>

セッション変数を強制終了するには:

<?php
  session_start();
  unset($_SESSION['count']);
?>
于 2013-03-28T02:51:30.263 に答える