田中ひさてる @tanakahisateru 話題のFuelPHPのCSRFの件は https://t.co/e2Wh7p5p あたりかな。 uniqid() がもうすでに時刻に準拠した値なのに time() 付けてもねぇ、このソース公開しちゃってるしねぇということ? 2012-06-06 14:06:50
田中ひさてる @tanakahisateru 話題のFuelPHPのCSRFの件は https://t.co/e2Wh7p5p あたりかな。 uniqid() がもうすでに時刻に準拠した値なのに time() 付けてもねぇ、このソース公開しちゃってるしねぇということ? 2012-06-06 14:06:50
output_add_rewrite_var() は、session.use_trans_sid で利用されているURLリライト機能に新しい名前と値のペアを追加する関数。 session.use_trans_sidの場合と同様、有効になるHTML要素と属性は url_rewriter.tags の設定によって決まります。 url_rewriter.tagsの設定は、デフォルトで "a=href,area=href,frame=src,input=src,form=fakeentry,fieldset=" となってますが、それぞれどのように書き換えられるか調査しました。 結論を書くと、書き換えられる要素が何であろうと、以下の仕様となっているようです。(PHP5.4.0 RC6で確認) name はURLエンコード/HTMLエスケープ共にされない value はurlencode()されるが、
メモ, PHP【PHP TIPS】 58. すごいリロード対策紹介されているのはシンプルなワンタイムトークン.単純なリロード対策であれば ticket の値は乱数でなくても良い.ここを乱数にすることで CSRF 対策も兼ねている.ただこの方法は,場合によってはフォームを正常に送信できなくなってしまう問題がある. 例えば,入力画面→入力確認画面と遷移してから別のウィンドウで入力画面→入力確認画面と遷移すると,前の入力確認画面のフォームは ticket が無効になり,フォームを送信できなくなる(複数画面同時編集ができない). 解決策としては,発行したトークンを全て記憶しておき,POST されたトークンと照合する方法がある. confirm.php session_start(); $token = sha1(uniqid(mt_rand(), true)); // トークンをセッションに追加す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く