正常にログインすると、 というページにリダイレクトされるログイン ページがありますgallery.html
。ただし、/gallery.html で URL を入力すると、ログインして保護しようとしているページに移動します。 URL? ページの読み込みを開始する前のチェックのように、
8 に答える
シンプル、session
ログイン時に変数を使用しgallery.html
、セッションIDが設定されている場合はユーザーをリダイレクトし、そうでない場合はログインページにリダイレクトします。
if($_SESSION['userid']){
header( 'Location: gallery.html' ) ;
exit();
}elseif($_SESSION['userid'] == ''){
header( 'Location: login.html' ) ;
exit();
}
この種のことを処理する関数を作成するのが好きです:
function loggedin() {
if ( isset($_SESSION['user_id']) ) {
return true;
} else {
return false;
}
}
または、三項演算子を使用してより短いもの:
function loggedin() {
return (isset($_SESSION['user_id'])) ? true : false;
}
チェックを行うには、if ステートメント内で関数を呼び出すだけです。
if ( loggedin() ) {
// only logged in users can see this
}
また
if ( !logged_in() ) {
// only users who aren't looged in can see this
}
if (!isset($_SESSION['user_id'])) {
毎回のように何かを入力するよりもはるかに簡単です!
gallery.html を匿名ユーザーに表示したくない場合は、ページの上部でこのコードを使用します
if(!isset($_SESSION['your_user_login_id']))
{
//redirect to home page
}
このコードは、匿名ユーザーがこのページを表示できないようにします。
$_SESSION が設定されているかどうかを確認するには、gallery.php の $_SESSION 変数を使用します。
ただし、ファイル名を gallery.html から gallery.php に変更する必要があると思います
<?php
if (!isset($_SESSION['secret_variable'])
{
echo "<br/>Error Message<br/>";
return;
}
?>
残りのコードを続行します。ユーザーが URL を指定して gallery.php にアクセスすると、Error Message
.
$_SESSION['secret_variable']
有効なログインを確実にするために、ユーザーが有効なユーザー名とパスワードを持っていることを確認したら、 を設定する必要があります。
ありがとう.. :)
セッションでログイン ステータスを設定し、保護するページでセッションを確認する必要があります。
<?php
session_start();
if (!isset($_SESSION['login_status'])) {
// Add permission denied message or redirect back to the login page
}
?>
ただし、これは、.html 拡張子を持つページではなく、PHP ページで実行できます (「AddType x-httpd-php .html」ディレクティブで Web サーバー構成を明示的に指定していない場合)。
最も簡単な方法は、php を使用することです。gallery.html を gallery.php として保存するか、すべてのコーディングの前に gallery.html ページの上に以下のコードを入力します。次に、SESSION 変数 (ここでは $_SESSION['userID']) を使用して、現在のログインの詳細を保存します。
<?php
if(! isset($_SESSION['userID'])){ //userID or something to identify the user
header('Location:login.php'); //redirects to the login page
}else{
header('Location:gallery.php'); //redirect to the gallery.php for valid login
}
?>
誰かが URL を入力してページをリクエストするのを防ぐ方法はありません。あなたができる唯一のことは、ページ自体にログインしているかどうかを確認することです.
ユーザーがログインしたら、Cookie またはセッションを設定する必要があるため、ユーザーのセッションまたは Cookie を設定します。その特定のURLを入力するたびに、そのページを表示するためにセッションをチェックするか、ログインページにリダイレクトする必要があります