セッションのワンタイムチケット法についてこんにちはゲストさん。>>解決済みの質問セッションのワンタイムチケット法についてある本に、セッションのワンタイムチケット法として以下のように書かれていました。{die("不正な操作が行われました。{die("不正な操作が行われました。");}そこで教えて頂きたいのですが、hiddenで渡したとしても、ソースコードを確認すれば$ticketの値は分かってしまいます。21:59:19通報するQNo.7098192chopperin困ってます質問者が選んだベストアンサーソースコードを見るかぎり、$ticketの値は暗号的な強度のある乱数なのでソースコードをいくら確認した所でその値はわかりません。mt_randとuniqidのマニュアルを確認してみてください。4.2.0以降だとmt_randは自動的にシードされます。よって、mt_randの結果はたとえ初めて実行したとしても毎回違う値が返ってきます。uniqidでマイクロ秒単位の現在時刻に基づき、mt_randが作った乱数を頭に持つユニークなIDを作っています。この時点でmt_randの乱数+その他のエントロピーが入ったマイクロ秒を元にしたIDとなっており、予測が難しい値になっています。これをMD5でハッシュ値をとっているので次にどんな値が$ticketに入るかを推測することは非常に困難です。いうわけで、ソースコードを読んだら暗号強度のある乱数値が$ticketに入っていることはわかりますが、具体的に何の値が入っているかはまず予測できないことがわかります。惜しむらくは強衝突耐性が疑われているMD5ではなく、SHA256あたりを使うと更に強い$ticketになると思います。回答(3)ANo.3shimixANo.1さんに補足ブラウザからticketとセッションID(Cookie)が送られますよね。受け取ったサーバは、POSTで送られてきたと、セッションIDで紐付いているセッション変数のticketを照合します。#ここで大事なのは、ticketが「ワンタイム」ということです.。照合して処理が終わったら、$_SESSION['ticket']はクリアしますし、次にticketが必要な局面では別の値が再発行されます。ticketだけを取り出して悪用しようとしても、その時点でのセッション変数のticketはすでに存在しないか他の値になっているので照合で不一致になります。(0)通報するANo.1yambejp>hiddenで渡したとしてもそのチケット自体は公開キーみたいなもんでしょ。5.1.6を使っています。phpで会員制サイトの制作を勉強しています。データベースへはPDOで接続しています。MySQLデータ...SESSIONを使用したユーザ登録を作成しています。SESSIONを使用したユーザ登録を作成しています。今回も質問させていただきますが、よろしくお願いします。PHP4.2.xを使っています。フレームhtmlで下記のPHPを読み込みします。height="...hiddenによるセッション管理について。hiddenによるセッション管理について。PHPで値のやりとりで下記のような状態のものがあるとします。内容はプロフィールの変更MYSQLへUPD...strutsで2次元配列をやりとりする方法。Reserved.掲載情報の著作権は提供元企業等に帰属します。