のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,332,097人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 103

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    651 : nobodyさん - 2011/02/07(月) 15:36:16 ID:??? (+57,+29,-6)
    保土ヶ谷区民ウゼェよ。
    ID出さない奴に回答して悪いかボケ
    652 : nobodyさん - 2011/02/07(月) 15:47:18 ID:??? (+57,+29,-12)
    ID非表示派のレスには。←が付いてるのは偶然の一致なのか?
    おもしれぇなこのスレwwwwwwwwwwwwwwwwwwww
    653 : nobodyさん - 2011/02/07(月) 15:55:18 ID:??? (+57,+29,-30)
    おまいら何回同じ議論したら気が済むの?
    ローカルルール決めたって拘束力無いんだから意味無いじゃん
    654 : 621 - 2011/02/07(月) 16:00:18 ID:??? (+56,+28,-3)
    621以後の全部荒らしですから。
    なんでスルーできないんですか?
    655 : nobodyさん - 2011/02/07(月) 16:03:36 ID:??? (+120,+29,-2)
    質問が来ないから、皆、暇なんだよ。
    656 : nobodyさん - 2011/02/07(月) 16:46:32 ID:??? (+76,+29,-13)
    >>655

    (´・∀・`)ヘー

    質問が来ないで暇になると、スレが荒れるんですか?

    なんか、このスレの住民の方々って、痛いんですね。

    けど、質問への答えなんか見ていると、みんな優しいですよね。
    657 : nobodyさん - 2011/02/07(月) 16:48:49 ID:??? (+14,-24,+1)
    >>656
    質問ならIDを出すように。
    658 : nobodyさん - 2011/02/07(月) 17:02:58 ID:??? (+114,+29,-8)
    >>655から この >>658までを
    自演荒らしと言います。触れないように。
    659 : nobodyさん - 2011/02/07(月) 18:57:38 ID:??? (-4,-27,+2)
    (・д・)チッ 自演かよ
    660 : nobodyさん - 2011/02/07(月) 20:48:41 ID:??? (+0,-28,-9)
    http://itpro.nikkeibp.co.jp/article/NEWS/20110207/356986/

    誰得
    クソ簡単なJavaのSJC-Pのほうが評価されるだろうな(笑)
    661 : nobodyさん - 2011/02/08(火) 00:53:11 ID:mUrsofMt (-25,-30,+0)
    ログイン処理のある会員サイトを作っています
    いろんな意見を聞きたいんですが、フォームでのトークン処理ってどうやってますか?
    (長文です、すみません)

    自分は入力~確認~登録(DB処理)というフォームの流れで、
    確認画面に進んだ時にPOST値を全部セッション($postParams)に入れて登録画面に持ち込んで
    セッションから引き出した値をDB処理しています。

    が、ワンタイムトークンが複数画面でのフォーム登録処理を出来なくなる原因と気付いて、
    (※hiddenのトークンとセッションのトークンをDB処理直前で比較するロジックの場合。
     新しいウィンドウのトークンでセッションが上書きされるので)
    ログイン時に作ったトークンを使い回すことにしました。
    すると、問題が出てきました

    フォームAで確認画面に進んだあと、別ウインドウで開いたフォームBを確認画面まで進ませると、
    $postParamsの値がフォームBの内容で上書きされるので、フォームAを「登録」した時に
    正しくない(Bの)パラメータで登録されてしまうんです。
    当たり前ですよね、ワンタイムトークンだった時は、ここで実際の登録処理が行われる前に
    「トークンエラー」として処理してたんだから。

    どうしたら良いんでしょうか?
    ワンタイムトークンに戻そうかと思ったけど、それだと複数フォームの平行処理が出来ないままです。
    post値をセッション化せずhiddenに入れる方法を考えましたが、それもちょっと抵抗が…
    (処理がかなり面倒なので)

    トークン処理とフォームの値の引き回しどうやってるか、参考意見貰えると嬉しいです
    よろしくお願いします
    662 : nobodyさん - 2011/02/08(火) 00:57:30 ID:??? (+0,-22,-42)
    セッションcookieとトークンcookieを分ければいいだけじゃね?
    663 : 661 - 2011/02/08(火) 01:10:36 ID:mUrsofMt (-20,+29,-5)
    >>662
    ありがとうございます
    それはワンタイムトークンにして、ということですか?
    664 : nobodyさん - 2011/02/08(火) 01:13:13 ID:??? (+89,+29,-25)
    とりあえず画面遷移とセッションのリードライトの流れを書いてよ
    UMLでもいいし落書きでもいい
    何を問題としてるのかよーわからん
    665 : 661 - 2011/02/08(火) 02:22:45 ID:??? (+64,-30,-93)
    >>664
    ありがとうございます
    これでわかるでしょうか?
    同時に複数のウィンドウでフォームを開いて、トークンチェックしつつ(csrf対策で)
    それぞれのフォームから入力された正しい値を登録させたいのです。

    急いで書いたので誤字とかあるかも知れないです
    確認画面でのパラメータのセッションへの格納方法は、実際は
    $_SESSION['postParam']=$_POST; です
    666 : 661 - 2011/02/08(火) 02:49:28 ID:??? (+11,-30,+0)
    今思いついたんですが、トークンは固定トークンのままにして
    セッションへのパラメータの格納方法を変えればいいんでしょうか?

    1)入力画面でウインドウID(乱数)を用意する <input type="hidden" name="winID" value="xxxxx" />
    2)確認画面でウインドウIDをキーにして、セッションにパラメータを全部入れる
      $_SESSION['postParam'][$_POST['winID']]=$_POST;
      hiddenにはウインドウIDを保持する <input type="hidden" name="winID" value="{$_POST['winID']}" />
    3)if($_SESSION['token']==$_SESSION['postParam'][$_POST['winID']]['token']){//DB処理}

    うーん、スレ汚しすみません。意見貰えると嬉しいです
    667 : nobodyさん - 2011/02/08(火) 02:51:16 ID:??? (+52,+29,-18)
    なんだこれは壮絶な釣りだなwwwwwwwwwww
    668 : nobodyさん - 2011/02/08(火) 02:52:08 ID:??? (+69,+29,-75)
    やってる事はステートフルなフローだからワンタイムの方は正常でしょ
    金融系の処理なんかを見ればわかるけどそう言うケースではエラー出してセッションクリア後、最初からやり直させる

    後、そのケースだとトークンはcsrf対策にはならん
    トークンで対応出来るのはgetで登録出来るフローのみ
    ブログでこの辺を勘違いしてる人間が多すぎる
    本もね
    669 : nobodyさん - 2011/02/08(火) 03:01:08 ID:??? (+11,-30,+0)
    入力フォーム
    <?php
    $_SESSION['token_a'] = $token;
    ?>
    <input type="text" name="user[name]" value="">
    <input type="text" name="user[code]" value="">
    <input type="hidden" name="token[A]" value="<?php echo $token ?>">
    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
    確認フォーム
    <?php
    if( $_SESSION['token_a'] != $_POST['token']['a'] ){
    //入力へリダイレクト
    }
    ?>
    <input type="hidden" name="user[name]" value="<?php echo $_POST['user']['name'] ?>" />
    <input type="hidden" name="user[name]" value="<?php echo $_POST['user']['code'] ?>" />
    <input type="hidden" name="token[A]" value="<?php echo $_POST['token']['a'] ?>">
    ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
    登録フォーム
    <?php
    if( $_SESSION['token_a'] != $_POST['token']['a'] ){
    //入力へリダイレクト
    }
    //値チェック
    //登録
    //登録完了
    //セッション削除
    ?>
    670 : nobodyさん - 2011/02/08(火) 03:02:57 ID:??? (-1,-29,-65)
    セッション削除はtoken[A]だ。

    別画面はtoken[B]にすればいいんじゃね
    別に同一セッションキー使う必要なくね?
    671 : nobodyさん - 2011/02/08(火) 03:07:16 ID:??? (+57,+29,-28)
    あのさ、
    何で入力フォームでトークンを発行してるの?
    実登録は確認後なんだから意味ないと思うんだけど…
    672 : nobodyさん - 2011/02/08(火) 03:12:00 ID:??? (+36,-29,-96)
    え?なんで??

    token発行
    入力画面表示

    token存在確認&同一か確認
    確認画面表示

    token存在確認&同一か確認

    登録

    登録完了
    token削除

    どこがおかしいのかな?www
    673 : nobodyさん - 2011/02/08(火) 03:15:08 ID:??? (+71,+29,-50)
    >>672
    おかしい

    画面遷移で入力→登録なフローがあるならそれでもいいが
    入力→確認→登録なら確認の時にトークンを発行するのが正しい

    tokenが何の為にあるのかちゃんとした知識をつけな
    674 : nobodyさん - 2011/02/08(火) 03:18:11 ID:??? (+58,+25,-55)
    おかしくねーだろ
    一回登録されたら消えるんだから
    確認画面をurl直接入力しても確認画面表示されないし、
    完了後戻るで確認画面に行ってsubmitしてもセッションのtoken消えてるし
    何が問題なんだよ?
    675 : nobodyさん - 2011/02/08(火) 03:22:08 ID:??? (+37,-29,-91)
    設計がおかしいと言ってる
    tokenはmd5又はsha1を使用したとして入力→確認の遷移の度にハッシュ作成のコストと32-40byte無駄なPOSTをおくるわけ
    大規模なWebサービスでそれやる人間がいたら俺は駄目な奴の烙印を押す
    理由はtokenが何の為にあるのか理解せず使用しているから
    676 : nobodyさん - 2011/02/08(火) 03:24:54 ID:??? (+62,+29,-23)
    >>675
    じゃあ俺はもう何年もダメな奴の烙印を押され続けてる事になるなwwww
    677 : nobodyさん - 2011/02/08(火) 03:32:48 ID:??? (+24,+29,-30)
    卑屈になるなよ
    意味もわからず風潮のみで使用して無駄なコストを払ってるのは大手サイトでもよくある事
    理由無くjsをheadで定義するサイトなんてごまんとあるしね
    678 : nobodyさん - 2011/02/08(火) 07:01:14 ID:??? (+52,+29,+0)
    ごめんなさい。もうしません。
    679 : nobodyさん - 2011/02/08(火) 07:35:01 ID:??? (+47,+19,+2)
    HTTPリクエスト全否定ですかそうですか
    680 : nobodyさん - 2011/02/08(火) 07:50:01 ID:??? (+57,+29,-45)
    まあ、HTTPも色々便利になり過ぎたから、できるものなら一度全否定するのも
    いいかもね、ただ、へたすると社会が回らなくなるくらい浸透しちゃったからなあ。
    681 : nobodyさん - 2011/02/08(火) 08:11:25 ID:??? (+56,+29,-14)
    トークンって何?
    682 : nobodyさん - 2011/02/08(火) 08:13:34 ID:??? (+16,-1,-12)
    ググれ
    683 : nobodyさん - 2011/02/08(火) 08:17:08 ID:??? (+52,+29,+0)
    ビーフンは好きだぜ
    684 : nobodyさん - 2011/02/08(火) 08:43:16 ID:??? (+5,-29,-28)
    >>681
    東熱で、月額定額制以外の高画質ムービー購入に
    必要なポイント的なもの。
    1トークン=1US$
    まとめ買いで割引あり。
    685 : nobodyさん - 2011/02/08(火) 08:47:27 ID:??? (+86,+27,-24)
    トークン理解した。
    それなら入力データをトークンをキーに複数
    セッションに保存すればいいな
    686 : nobodyさん - 2011/02/08(火) 08:50:31 ID:??? (+57,+29,-16)
    可変なものをkeyとかもうね
    プログラミングを初歩からやりなおせ
    687 : nobodyさん - 2011/02/08(火) 08:52:50 ID:??? (+62,+29,-28)
    >>685
    せっかく教えてあげたのにw
    東熱のシステム見ておいで。
    金のやりとりがあるから、キッチリ作ってある。
    エロ動画も見られて一石二鳥だよ。
    688 : nobodyさん - 2011/02/08(火) 08:59:18 ID:??? (+52,+29,-1)
    フォーム別に作れば良いだけじゃね
    689 : 661 - 2011/02/08(火) 10:47:23 ID:??? (+11,-30,-204)
    たくさんの意見ありがとうございます。ほんと感謝します

    >>668
    >後、そのケースだとトークンはcsrf対策にはならん
    >トークンで対応出来るのはgetで登録出来るフローのみ
    これはどういうことですか?
    postでの送信にトークンはcsrf対策にならないってことですか?


    >>669
    if( $_SESSION['token_a'] != $_POST['token']['a'] ){ の検証処理ですが、
    フォームごとにトークン格納用セッションを作るわけですよね。
    この処理だと同じフォームのウィンドウを複数開いた時に、
    先に開いた方のフォームが確認ページで不正処理されることになりませんか?
    全く別のフォームを開いた時にしか機能しないんではと。。
    登録後のセッション削除処理完全に忘れてました、気付かせてくれてありがとうございます。


    >>673
    たしかに確認画面でのトークン生成で十分ですね。
    入力画面開くたびに余分な32バイト負荷かけるなんて考えもしませんでした
    ありがとうございます
    673さんはどうやって「複数画面(フォーム)での平行処理&CSRF対策」やってるんでしょうか?
    690 : nobodyさん - 2011/02/08(火) 11:02:53 ID:??? (+59,+29,-17)
    ひろみちゅの記事でも読んどけ
    http://takagi-hiromitsu.jp/diary/20060409.html
    691 : nobodyさん - 2011/02/08(火) 11:14:47 ID:??? (+52,+29,+0)
    宣伝ご苦労様です
    692 : nobodyさん - 2011/02/08(火) 11:27:13 ID:??? (+52,+29,-2)
    http://www.jumperz.net/texts/csrf.htm

    ほれ、いろいろ足らんだろ。
    693 : nobodyさん - 2011/02/08(火) 11:58:41 ID:??? (+2,-20,-2)
    ワンタイムトークン(笑)
    694 : 661 - 2011/02/08(火) 12:03:47 ID:??? (+8,-29,-146)
    >>690,692
    ありがとうございます
    それ両方とも読んだんですが、例に挙がってる確認画面でのpost値の保持が
    hidden形式なので(高木さん)、自分のセッションに丸ごと入れるやり方だと
    まんま流用できるとこまでいかないんです。
    「まんま流用しないで自分で応用しろよ」て話だと思いますが
    それで考えた方法が>>666です

    入力~確認~登録 のフォームでの確認画面以降からのデータの持ち回し、
    みんなhiddenでやってるわけじゃないですよね。
    自分みたいにセッションに入れてる人もいるはずで、その場合どうやって
    「複数画面(フォーム)での平行処理&CSRF対策」やってるんでしょうか?

    ほんと長々すみません。
    695 : nobodyさん - 2011/02/08(火) 12:11:34 ID:??? (+57,+29,-2)
    だからトークんをキーにkvsすればいいんだって
    696 : nobodyさん - 2011/02/08(火) 12:46:02 ID:LUHffT0l (+24,+29,-33)
    Yahoo知恵袋って何であんなに低レベルな回答者しか居ないのか教えてください
    簡単な質問しか回答付いてるの見たこと無いです
    697 : nobodyさん - 2011/02/08(火) 12:53:24 ID:??? (+51,+28,+0)
    ヤホーで検索して聞け
    698 : nobodyさん - 2011/02/08(火) 15:29:01 ID:jnZsUAPH (+61,+29,-17)
    http://www.bspeedtest.jp/
    こういうの作る場合ってどのような技術が必要ですか?
    699 : nobodyさん - 2011/02/08(火) 15:32:11 ID:??? (-1,-19,+1)
    flash
    700 : nobodyさん - 2011/02/08(火) 15:33:35 ID:??? (+57,+29,-15)
    flashは道具であって技術とは違うだろwwwwwwwwwwwwwwwwwwww
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について