【PHP】セッションについて語ろう!【PHP】
■ このスレッドは過去ログ倉庫に格納されています
ブラウザを閉じたらセッションの効果がなくなるのって、
ブラウザを閉じることでクッキーを消しているからなのですね。。
知らなかったよーーーーうわーーーん >>822
独自のセッションハンドラを、標準的なセッション(ファイルベース)と挙動が変わらないように実装するのは意外に面倒。
セッション変数をDBに格納したい理由が分からんが、session_start()を呼んでいる前後でsession_id()をDBに登録するのでは駄目かな? 問い合わせフォームのページ遷移で、自分のページから来たことを確かめるためにセッションを使っています。
input type="hidden" name="token"
他人のブログ等見ると、
■session_idを使う方法
$token = hash('sha256', session_id());
↓
if ($_POST['token'] != hash('sha256', session_id())) {
■$_SESSIONと照合する方法
$_SESSION['token'] = rtrim(base64_encode(openssl_random_pseudo_bytes(32)),"=");
↓
if ($_SESSION['token'] != $_POST['token']) {
と2種類(他にも?)見られますがどちらがいいのでしょうか?
htmlspecialcharsはここでは省略しています。 >>824
session_idを使う方法は新たなセッション変数が不要なので最も簡便だが、
フォームとcookieを比較されたらすぐにバレるので、
バリデーションを保証する要素としては使わない方が良い。
$_SESSION['token']を作る場合は、いつどこで作るのか、
それが既に定義されていた場合のフローなどを考える必要がある。
よって、ページ遷移元を保証するだけならsession_idでも構わないが、
バリデーションを保証する目的で$_SESSION['token']を作る価値はある。 >>825
詳しくありがとうございます。
それぞれ単独で説明する記事は見られるのですが比較する記事が見つからなくて迷ってました。
助かりました。 >>826
セキュリティに対する意識は単価の高い案件に携わるには必須だよ。
ガンバレ! 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
FBZK1A4NUV プログラミングを誰でも習得できる方法は、「前場アキドルのプログラミングマスター方法」というブログで見られるらしいよ。ネットで調べると見られるらしいです。
5TNTB ■ このスレッドは過去ログ倉庫に格納されています