0

セッションログインシステムを備えたスクリプトがあります。ユーザーログの後、ユーザーID、名前、レベルを保存します。

 if (!isset($_SESSION)) session_start();
 $_SESSION['user_id'] = $result['user_id'];
 $_SESSION['user_name'] = $result['user_name'];
 $_SESSION['user_level'] = $result['user_level'];    
 // Redirect
 header("Location: dashboard.php"); exit;

ここで、同じサーバーに 2 つ目のスクリプトをインストールする必要があります

スクリプト

スクリプトTB

ユーザーが SCRIPTA にログインし、URL を SCRIPTB に変更すると、B インストールにログインできません。

この問題を解決する方法は、各セッションに一意の ID を追加することです。

しかし、ページ間で ID を転送して確認するにはどうすればよいでしょうか。

4

2 に答える 2

0

Sable Foste の提案で解決しました。

ユーザーの一意の ID を持つ列を追加し、ページが読み込まれたときにこれを確認します。

クエリ DB:

// Verify hash
$result = mysql_query("SELECT user_hash FROM users WHERE user_id =".$_SESSION['user_id']);
$row = mysql_fetch_array($result, MYSQL_BOTH);
$user_hash = $row['user_hash'];

ハッシュの比較:

if ($_SESSION['user_hash'] != $user_hash) {
    header("Location: index.php?error=1"); exit;
}
于 2013-04-01T20:32:44.623 に答える