お世話になります。PHPとMySQLの組み合わせて会員サイトを作っていますが、ログイン時に持たせるセッションデータに関してご意見ください。
ログインした際、会員テーブルにあるID(increment値)、ログインID、ログインキーをセッションに持たせています。
ログインキーとは、ログインが成功したとき、10文字程度の文字列をランダムで生成しているもので、ログインの都度、会員データテーブルにも残しており、ID(increment値である数値)、ログインID(ユーザが登録した文字列)、そしてログインキーをセッションに持たせ、何かデータを操作する際は、この3種が会員データと全て合致するか?参照する仕組みです。
このような仕組みなわけですが、ある方から上記でいうIDやログインIDなど、セキュリティー的に、固定データは持たせず、ログインキーだけを持ち歩くようにした方が良いとの意見を頂戴しました。
言葉足らずではありますが、ログインの都度生成しているデータであれば、固有データでないため仮に漏れても問題なく、固有データを持たせることで脆弱な側面を持たせる危険性があるとのことです。
ここで質問ですが、セキュリティーという側面からログインした際、持たせないデータというのはあるのでしょうか?やはり固有データは控えるべきなのでしょうか?
なるほど・・・と理解はしたものの、固有データとは言え仮に公開しても問題ないレベルのもの、むしろ3種で比較しているので、より強固なのでは?と考えもあったりしています。
セッションデータ以前にシステムの是非を問うことは重々承知の上ですが。このセッションデータの持ち方に関して、どのようなデータを持たせるのは理想なのでしょうか?
どうしたものか?とずっと考えています。アドバイス頂ければ幸いです。
よろしくお願いいたします。
あなたの回答
tips
プレビュー