1

ホスティング サーバーのコントロール パネルからディレクトリのパスワード保護を有効にしました。正常に動作しています。ただし、問題は、ユーザーのブラウザがログイン情報をキャッシュしているため、ページから離れてパスワードで保護されたページに戻った場合、再度ログインするように求められないことです。

ブラウザーがキャッシュしないようにする方法について読んでいて、META タグ オプション (プラグマ、キャッシュ コントロール、期限切れ) を試しましたが、完全には機能しません。ユーザーがブラウザを完全に閉じてから、ブラウザを再度開いた場合にのみ機能します。ユーザーがページにアクセスするたびにログインプロンプトを開く必要があります(Webメールページにアクセスするようなものです)。

これに役立つ何らかのコーディングがあるかどうか、私は興味があります。私のページは単純に css と html を使用しています - 私がよく知っているコーディングは 2 つだけです。

4

1 に答える 1

0

PHP を使用した Basic の認証:

ログイン:

<?php session_start();$_SESSION=array();session_destroy(); ?>
<form method="POST" action="yoursite.php">
Username: <input name="username"><br>
Password: <input name="password" type="password"><br>
<button type="submit">Submit</button>
</form>

あなたのサイト:

<?php
session_start();
if(isset($_POST['username'])) {
  $username = trim($_POST['username']);
  $userpw = trim($_POST['password']);
  //here you have to check if the credentials are correct
    $user_may_see_content = false;
  //
  if(user_may_see_content) {
   $_SESSION['mayHaveRequest']=1;
   //now go to page

  } else {
   header("Location: <link_to_loginsite>");exit();
  }

}

//if user may see page
if(isset($_SESSION['mayHaveRequest']) && $_SESSION['mayHaveRequest']==1): ?>
$_SESSION['mayHaveRequest']=0;
?>
<!-- SECRET HTML CODE FOR AUTHENTICATED USERS -->



<?php else: 
header("Location: <link_to_loginsite>");exit();
endif;
?>

これはほんの一例です。

それが役立つことを願っています。

于 2012-10-22T16:28:13.293 に答える