少数の人々 (内部のみ) によって使用される Web アプリがあり、ユーザー レコードの下に保存され、さまざまなリンクに配置されるランダム化されたセッション ID を使用しています。
ユーザーが相互にリンクを送信し、送信者のセッションをハイジャックできるという問題がありました。
ユーザーが相互にリンクを送信できるようにしながら、これを防ぐにはどのような方法がありますか?
編集: リンク内のセッション ID ($username も含む) は、User テーブルに格納されているものと比較されます。&incorrectLogin は、エラーの後に die; を出力するだけです。
if ($sid) {
$sth = $dbh->prepare("SELECT * FROM tbl_User WHERE UserID = '$username'");
$sth->execute();
$ref = $sth->fetchrow_hashref();
$session_chk = $ref->{'usr_sessionID'};
unless ($sid eq $session_chk) {
&incorrectLogin;
}
}
問題は、誰かが他の人によって作成されたリンクを使用すると、ページがそれらとして読み込まれることです。私は Cookie を使用していません。以前、CGI perl Cookie の処理が非常に貧弱であると言われたことを思い出します。