- ベストアンサー
セキュリティ
うろ覚えでちょっと説明不足で申し訳ないのですが PHP+DBでユーザをDBのテーブルから引っ張り ログインするという画面がありました。 ユーザが見つかりメニュー画面に移行する際、 アドレスにユーザの一意な数字の入ったものを挟んで いる画面を見たことがあります。 これは多重ログイン防止か何かでしょうけども メリットと実現方法をご存知の方がいたら 教えてください。宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
がるです。 もしxxxの部分が普通にディレクトリ名とかだと仮定すると ・ログイン認証「もどき」 であろうと推測いたします。 一応、作成者側の意図としては「ログインした人を認識する」ための実装だろうと思われるのですが。 正直、ものすごく容易にジャック(他人が成りすましてアクセスする)ができてしまうので…概ね「デメリット」しかありません(苦笑 しいて言うと「ディレクトリ中にユニークなデータを盛り込む」手法が比較的面白くて。 これは PATH_INFOという環境変数に設定されているデータを元に処理を行います。 こういったログインに埋め込む(通常はCookieに埋め込むことが多いですね)のは、ユーザのIDとは「まったく無関係なID(セッションIDとか呼称されることが多いです)」を使わないと、セキュリティ的に非常に危険になってしまいます。
その他の回答 (3)
- cybert
- ベストアンサー率56% (18/32)
あまり関係ないのですが。 >メリットと実現方法をご存知の方がいたら メリットは無いんじゃないでしょうか?思いつきません。 実現方法はごめんなさいスキル不足で分かりません。 セキュリティについて メニュー画面で外部リンクがある場合、リファラからユーザの一意な数字が漏洩する危険性があります。 この数字が漏れるとセキュリティ上悪い場合は、 対策してください。 試しに、http~アドレス/ユーザマスタのコード/xxx/yyy.phpに直接アクセスしてみて下さい。
お礼
お返事ありがとうございます。 確かに一意の数字が漏洩するのは危険ですね。 気をつけます。 以前のプロジェクトで見かけたもので 直接アクセスなどはもう出来ない状況にありますが 大変勉強になりました。 ありがとうございます。
- galluda
- ベストアンサー率35% (440/1242)
がると申します。 んっと…ちょっと状況が見え切れていないので、まず質問をさせていただきたいのですが。 「ユーザの一意な数字」というのは ・DBに入っている「ユーザが識別できる」数字 ・DBに入っている「ユーザが識別できる」数字に加えて、なにか付け足しをしている ・DBに入っている「ユーザが識別できる」数字とはまったく異なる、ランダムな数字の羅列 のいずれをさしますでしょうか? 上述の「どれか」によって、メリット/デメリットが変わってきてしまうので。
補足
お返事ありがとうございます。 一意な数字は ・DBに入っている「ユーザが識別できる」数字 でそのままで表示されていました。 http~アドレス/ユーザマスタのコード/xxx/yyy.php というような感じです。
- yambejp
- ベストアンサー率51% (3827/7415)
あまりうろ覚えな質問をされても まっとうな回答は得られないかと。 ユニークなセッションIDを発行している ような気がしますが、どのシステムで どうした場合に、どんな数字がでたか くらいは提示しないと、何を回答しても 無駄だとおもいますけど。
補足
お返事ありがとうございます。 申し訳ありません、ごもっともだと思います。 システムは販売管理システムで ユーザマスタにあるユーザ情報でログインした場合に ユーザマスタの一意に用意されたコードが http~アドレス/ユーザマスタのコード/xxx/yyy.php というように入っていました。 コードがアドレスの中に入っていて 実際のフォルダ階層ではないので頭に残っていました。
お礼
度々ありがとうございます。 「もどき」なのですね、メリットがなくデメリットが多いとは考えにありませんでした。 別の案件で新しく自前で作るのですが 前のプロジェクトで見たことがあったもので セキュリティを高める効果になればと思い ご質問させていただきました。 どうもありがとうございます。