トップページphp
1001コメント284KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/01/25(火) 20:46:58ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 102
http://hibari.2ch.net/test/read.cgi/php/1292670453/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ 出来るだけスレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・IDを出さない場合、偽者や成りすましの出現を覚悟すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に極力IDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0567nobodyさん2011/02/06(日) 12:24:37ID:???
>>566
いや、結局何をしたいのかよくわからないんだけど。
0568nobodyさん2011/02/06(日) 12:37:32ID:???
>>566
改行コードが入っているのを確認したいということなら、
echo(htmlspecialchars(str_replace(array("\r\n","\r","\n"), array('\r\n','\r','\n'), $item['coupon_title'])));
とか。(ただし表示されるのはあくまで'\r\n'等という「文字列」であって、改行コードではないことに注意)
0569nobodyさん2011/02/06(日) 12:38:11ID:W4hAX9yk
>>567

わかりにくくて申し訳ないです。

改行を修正するという問題はやり方を教えていただいて解決したのですが、
改行に使われているコードをソース表示で目視して、しっかりとソースを確認できるようになりたいのです。

例えば、 \n\r で改行されているのか、<br&gt だとか、自分で確認できれば今後、自力で変換する
ことができるだろうと思いまして。
0570nobodyさん2011/02/06(日) 12:42:36ID:???
>>569
改行コードは目で見えないから擬似的に確認するなら>>568みたいな方法しかないね。
でも文字として画面に表示されない文字コードは他にもたくさんあるから
どうしても気になるなら1文字ずつ文字コードを確認するしかないね。
0571nobodyさん2011/02/06(日) 12:52:59ID:???
そんなのソース表示するかheaderでtext/plainを送信するかしないと無理だろ
0572nobodyさん2011/02/06(日) 12:53:45ID:W4hAX9yk
>>568 >>570

なるほど。どうもありがとうございます。

今回はこのスレで、改行されているのであれば、 \n\r を変換だとか <br&gt を変換だろうと
教えてもらいましたが、ソース表示で確認するのは困難なので、予測してやるしかないのですね。

勉強になりましたm(_ _)m
0573nobodyさん2011/02/06(日) 13:00:51ID:???
>>572
ちなみに[\n\r]って書いたけど、普通はCR+LFだから\r\nの順ね。
システムによっては\rだけとか\nだけ(Linux等)なんかもあるからね。
0574nobodyさん2011/02/06(日) 13:01:13ID:???
>>572
バイナリが確認できるエディタぐらいは用意しなよ

<?php
header('Content-Type: text/plain;');
$data = file_get_contents('http://www.example.com');
for ($pos = 0, $length = strlen($data); $pos < $length; $pos += 16) {
    $line = substr($data, $pos, 16);
    printf("%08X : %s : %s\r\n", $pos, implode(' ', str_split(bin2hex($line), 2)), $line);
}
0575nobodyさん2011/02/06(日) 13:16:57ID:???
いいね、それ
0576nobodyさん2011/02/06(日) 13:58:32ID:???
>>542
htmlspecialchars_decode
0577nobodyさん2011/02/06(日) 14:33:00ID:Zx7Z1+IF
配列Aの末尾5件を取り出して配列Bに入れたいんだけど
このとき取り出した5件も配列Aから取り除きたい。

この分割を一度に出来る関数は用意されてないですか?

配列B = array_slice(配列A, -5, 5);
array_splice(配列A, -5, 5);

ってやるしかない??
0578nobodyさん2011/02/06(日) 14:37:00ID:???
>>577
返り値
0579nobodyさん2011/02/06(日) 14:45:05ID:???
>>577

function orijinaru() {
配列B = array_slice(配列A, -5, 5);
array_splice(配列A, -5, 5);
}

0580nobodyさん2011/02/06(日) 14:51:38ID:???
ああ、array_spliceで削除した配列は返り値にあるのか。
トンクス
0581nobodyさん2011/02/06(日) 15:36:47ID:5gbalayA
(毎日yyyymmdd.txtにアクセスログを取り、)日付が変わって最初にindex.phpにアクセスがあった時、
yyyymmdd.txt(以下、日付は前日のものになります)を処理して、yyyymmdd.htmlを出力する、というものを作りたいです。

まずyyyymmdd.htmlが存在するか確認し、あればそのまま表示、なければ処理をするのですが、
普通にyyyymmdd.txtをファイルロックするだけだと、ロック中にアクセスしてきた人は
ロックが解除された後同じ処理をすることになり、無駄が出ます。
「ファイルがロックされていなかったら処理Aをする。ロックされていたら、解除を待った上で処理Bをする」
にはどうしたらよいでしょうか?
0582nobodyさん2011/02/06(日) 15:43:43ID:RrdA9rdH
530です。
質問に答えていただいた方々ありがとうございます。
また質問させてもらうかと思いますがよろしくお願いします。
0583nobodyさん2011/02/06(日) 15:49:31ID:???
>>581
try〜catch
0584nobodyさん2011/02/06(日) 16:53:00ID:???
> ロック中にアクセスしてきた人は、ロックが解除された後同じ処理をすることになり、無駄が出ます。

何がどの様にどれだけ無駄になるのかを知りたい。

100万人が同時にアクセスして、100万−1回の無駄が出てしまうのだろうか?
0585nobodyさん2011/02/06(日) 17:07:29ID:???
yyyymmdd.txt をロックするよりも、yyyymmdd.htmlをロックすれば?
0586nobodyさん2011/02/06(日) 17:26:05ID:???
ロック用としてもう1ファイルorディレクトリ必要だな
05875812011/02/06(日) 17:33:24ID:5gbalayA
>>583
試してみます。

>>584
おっしゃるとおりです。
処理が終わるのを待てば100万人がアクセスしても処理は1回で済みます。
(最も、PHP初心者が細かいことまで気にする必要があるのかわかりませんが・・・)

>>585
処理する前にhtmlを作成してロックしておくということでしょうか。

>>586
その方法はよく見かけますね。
試してみます。
0588nobodyさん2011/02/06(日) 17:35:55ID:???
ロックディレクトリは使うな
0589nobodyさん2011/02/06(日) 17:40:11ID:???
>>588
なんで?
05905812011/02/06(日) 17:43:45ID:5gbalayA
>>588
削除に失敗したら解除されなくなってしまうんでしたっけ。

すみません。
ロック(が解除されて、自分が)した後にもう一回.htmlの存在を確認すればできそうですね。
二回確認するのが無駄な気もしますが、やはり初心者が気にするようなことではないですかね。
0591nobodyさん2011/02/06(日) 17:45:54ID:???
ttp://www.tohoho-web.com/wwwcgi8.htm
0592nobodyさん2011/02/06(日) 17:53:11ID:???
PHPで完全にアトミックなのはmkdirだけどな
少しくらいこぼれてもいいならtmpファイルとかflock使えばいい
ディレクトリロックは完璧に作れば排他処理ができるが初心者がいきなりできるもんじゃない
0593nobodyさん2011/02/06(日) 17:57:32ID:zdEuJ7Gl
php.iniでxdebugの設定はhttp://www.xdebug.org/のどのページにかいてあるか教えて下さい
0594nobodyさん2011/02/06(日) 18:27:52ID:???
>>581
要は前日分の集計結果が出てない状態を無くしたいということかな?
すぐに反映されるとは限らないと割り切る方が楽だけどね
if(前日分htmlが無ければ){
 if(前日分txtへのロックが成功した){
  前日分htmlを作る処理
 }else{
  // 何もしない
  echo "前日分は処理中です。もうしばらく待ってから云々";
 }
}
(普通はCron使う)

>>593
/docs/all_settings
0595nobodyさん2011/02/06(日) 22:17:55ID:???
せめてJavaScriptでヤレー
05965952011/02/06(日) 22:19:03ID:???
すまん誤爆
0597nobodyさん2011/02/06(日) 22:50:11ID:???
定義済み変数の変数名一覧を取得することはできますか?
0598nobodyさん2011/02/06(日) 22:54:05ID:???
>>597
>>1
0599nobodyさん2011/02/06(日) 22:54:08ID:???
標準関数で出来るが読み込んでるモジュールによって一覧の幅が異なる
0600nobodyさん2011/02/06(日) 22:54:54ID:???
599だけどID出してなかったからその標準関数は伏せとく
06015972011/02/06(日) 23:02:13ID:VXFQ3KR5
【OS名】windows7
【PHPのバージョン】わかりません xamppの一番新しいの
【連携ソフトウェア】
【質問内容】
定義済み変数の一覧(´∀`(⊃*⊂)たいです。
クラスのメソッド内や、関数内だけで結構です。
06025972011/02/06(日) 23:03:35ID:VXFQ3KR5
PHP Version 5.3.1ってなってた
0603nobodyさん2011/02/06(日) 23:43:18ID:???
スルーでいいんじゃないこういうの
0604nobodyさん2011/02/06(日) 23:59:25ID:???
>>601
定義済みの手続き型関数とユーザー定義関数はマニュアルの関数処理参照get_defined_functions
クラスのメソッドは別の標準関数で可能だが601の書き方で答える気が失せたのでパス
06055972011/02/07(月) 00:00:03ID:iMsNk9RA
プログラムもうしません。
0606nobodyさん2011/02/07(月) 00:01:49ID:???
あ、関数じゃなくて変数か
>>599に任せた
0607nobodyさん2011/02/07(月) 00:09:28ID:???
■function_exists() - 指定した関数が定義されている場合に TRUE を返す
■get_defined_vars() - 全ての定義済の変数を配列で返す
■get_defined_constants() - すべての定数の名前とその値を連想配列として返す
■get_declared_classes() - 定義済のクラスの名前を配列として返す
0608nobodyさん2011/02/07(月) 00:13:58ID:iMsNk9RA
>>607
ありがとうございます。神様。
0609nobodyさん2011/02/07(月) 01:36:54ID:???
ありがとうございます。仏様。
0610nobodyさん2011/02/07(月) 01:48:30ID:???
あえぎとうございます。俺様
0611nobodyさん2011/02/07(月) 02:09:58ID:???
arrayを先輩が「アーレイ」って言って吹いたww
「アーリー」だっつーの。
0612nobodyさん2011/02/07(月) 02:17:18ID:???
ネイティブ様乙。
arrayはアーレイでもアーリーでもなく
あれー? が国内では一般的。
0613nobodyさん2011/02/07(月) 02:18:37ID:???
アレイ
0614nobodyさん2011/02/07(月) 02:19:59ID:???
>>611
まだ、先輩とやらの方が近い。
これを聞いて(スピーカーアイコンクリックせれ)先輩に土下座してこいw

ttp://www.excite.co.jp/dictionary/english_japanese/?search=Array&match=beginswith&dictionary=NEW_EJJE&block=34834&offset=728&title=array
0615nobodyさん2011/02/07(月) 02:32:28ID:???
[?r?i]
0616nobodyさん2011/02/07(月) 03:47:22ID:???
発音的にはアルゥェイって感じ
普通にアレイでいいと思うが
日本人がarrayと発音するとawayに間違われるかもな
0617nobodyさん2011/02/07(月) 04:05:10ID:???
どうでもいい。
0618nobodyさん2011/02/07(月) 04:50:37ID:???
あれいもないな
0619nobodyさん2011/02/07(月) 05:49:29ID:???
arrayの読み方ならアライでしょ?
0620nobodyさん2011/02/07(月) 08:57:52ID:???
?rei
ェアレェェイです
0621nobodyさん2011/02/07(月) 09:24:15ID:???
   || 紳士の鉄則 【荒らしは無視・放置】 して。
   || 
   || ★ 荒らしは放置されるのが一番苦手。
   ||   → ウザイと思ったらそのまま放置よ。
   || ▲ 放置された荒らしは煽りや自作自演でアンタのレスを誘うよ。
   ||   → 釣られてレスしたらその時点でアンタの負け。
   || ■ 反撃は荒らしの滋養にして栄養であり最も喜ぶよ。
   ||   → 荒らしにはエサを与えないで。
   || ☆枯死するまで孤独に暴れさせておくのが一番。
   ||             /~ ヘヽ  。
   ||          リ/__・リ/ これ重要つーの      E[]ヨ  
    ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ  つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
                /  ̄ ̄ ̄ ./| _____________
                | ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
                        ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0622nobodyさん2011/02/07(月) 10:47:52ID:???
この流れ的に言えば荒らしは間違いなく>>621
0623nobodyさん2011/02/07(月) 11:00:30ID:???
E[]ヨ
0624nobodyさん2011/02/07(月) 11:52:33ID:???
>>622
荒らしに触るなボケ。
0625nobodyさん2011/02/07(月) 11:58:59ID:???
Framework についてはコノスレで良いの?
0626nobodyさん2011/02/07(月) 12:03:59ID:???
>>1にどこで聞くべきか書いてあるよ
0627nobodyさん2011/02/07(月) 12:09:20ID:???
次スレでは、ここを書き換えたいと思ってる。

◆質問する時の注意
前・出来るだけスレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
後・スレを上げて、必ず自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)

ID表示を必須とすれば、質問と雑談を区別できると思いました。
0628nobodyさん2011/02/07(月) 12:11:48ID:???
>>627
その必要はない。
0629nobodyさん2011/02/07(月) 12:16:39ID:???
次スレでは、ここを書き換えたいと思ってる。

◆質問する時の注意
前・出来るだけスレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
後・スレを上げて質問を目立たせたい人は、メール欄にageと記述する。
  専ブラの人はsageチェックを外してメール欄にageと入れます。

どうせ下らねぇやりとりなんだから、質問と雑談を区別する必要はないと思いました。
0630nobodyさん2011/02/07(月) 12:16:58ID:???
>>627
そもそも>>1のそれは荒らしが勝手に修正して建てたものだから
本来は↓

・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
0631nobodyさん2011/02/07(月) 12:21:11ID:???
・スレを上げて必ず自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)

これが良い
0632nobodyさん2011/02/07(月) 12:22:13ID:???
>>627 ID出して雑談したらおなじだろ。
0633nobodyさん2011/02/07(月) 12:24:12ID:???
>>630
誰が立てたスレだろうがお前も認めてるからここを使ってんだろ?
文句があるなら別スレ立てればいいじゃねぇか。
0634nobodyさん2011/02/07(月) 12:44:13ID:???
◆雑談する時の注意
 ・雑談や口喧嘩は巣に帰ってすること。
  【PHP】下らねぇ質問はID出さずに書き込みやがれ 1 http://hibari.2ch.net/test/read.cgi/php/1289117484/l50
0635nobodyさん2011/02/07(月) 13:45:13ID:???
くっだらねぇ。
0636nobodyさん2011/02/07(月) 13:46:29ID:???
くったらうめぇ。
0637nobodyさん2011/02/07(月) 14:18:55ID:mwW3N5jf
質問者のID云々より、雑談がどうとかでID出せ出せ言ってる側が
一切IDを出さないと言う所が姑息で嫌な感じしかしないですよね?
生理的な嫌悪感を感じませんか?ID出せ厨に。
0638nobodyさん2011/02/07(月) 14:20:30ID:???
IDを出す理由は既に論破されてる
0639nobodyさん2011/02/07(月) 14:21:47ID:???
ミス
×IDを出す理由は既に論破されてる
丸IDを出す理由は既に語り尽くされていて今更語ることではない
0640nobodyさん2011/02/07(月) 14:28:15ID:???
>>637
何でこのスレに執着してんの?
わざわざこっち来ないであっち行けばいいだろ

【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/
0641nobodyさん2011/02/07(月) 14:30:55ID:mwW3N5jf
IDを出す出さないの理由付けなんて、どうでもいいんです。
IDを出せと言う側がIDを絶対出さない卑怯者で姑息な口先だけの小心者なのが
問題なんです!よね?
0642nobodyさん2011/02/07(月) 14:32:59ID:???
ちゃんと回答してるやつは文句言ってない。
タダのノイズなんだから面倒だが、その場その場でNGして相手にしなければ
いずれ飽きていなくなる。
0643nobodyさん2011/02/07(月) 14:40:25ID:???
そこまで言うならちんぴらやOCNを見習ってIP出して文句言えよと言いたい
0644nobodyさん2011/02/07(月) 14:50:13ID:???
質問とそれに対する回答だけあれば十分なスレなのに
なぜそこまでIDにこだわるのか理解できない。

今までだってIDを出さない質問者に回答する人は回答してるわけだし、
IDを出さない質問者が気に入らないのなら、いちいちID出せとか言わずに
無視してればいい。
0645nobodyさん2011/02/07(月) 15:10:56ID:???
あいでいをだすださないにこだわらないならふしあなさんでかきこんでみろよ
でてもでなくてもかんけいないといいはるやつらはぜんいんがふしあなさんでかきこんでみろよ
0646nobodyさん2011/02/07(月) 15:13:53ID:???
>>645
あいでいをだ
すださないに
こだわらない
ならふしあな
さんでかきこ
んでみろよで
てもでなくて
もかんけいな
いといいはる
やつらはぜん
いんがふしあ
なさんでかき
こんでみろよ
0647nobodyさん2011/02/07(月) 15:15:46ID:???
>>645-646

`;:゙;`;・(゚ε゚ )ブッ!!

コーラ吹いちゃっただろ!
0648nobodyさん2011/02/07(月) 15:16:10ID:???
IDにこだわらない=IDを出す必要がない、と言ってるの。わかる?おバカさん。
0649nobodyさん2011/02/07(月) 15:20:40ID:???
>>648 巣に帰ったら?
【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50
0650p4187-ipbf1702hodogaya.kanagawa.ocn.ne.jp2011/02/07(月) 15:23:30ID:ILQFmKzY
ちょっと古参ぶるかもしれないが誤解しないでくれ
<?php
echo '一番の馬鹿なのは、IDを出さないやつに回答するやつ';
?>
IDを出させる理由は
・スレを上げて住人他にも回答者を募る
・IDを追跡して、そいつのレベルにあわせて説明ができなくなるのを防止する
・質問者の簡易的な成りすまし防止
・IDを出してたやつが試行錯誤の末に答えにたどりついたら、回答者も嬉しい
だから、>>644の無視が正解
「ID出せ」はただのスレ汚し
ある意味、ID非表示の質問者に解答しているのと同意

今までだってそうしてきたんじゃないのか?
そうやってパート化して103まで歴史を積み上げたんじゃないのかよ?
ここの住人を自負してるおまいらは最近どうしちまったんだよ・・・2chを愛してんだろ?


【余談】
ググッて質問スレにたどり着いた挙句、ほいほい質問するやつは
だいたい専ブラ使ってたりしやがるからsage設定を解除し忘れるだけ
※本当の2ch初心者は、2chはこえーところだから質問そのものを警戒するし
一般的なwebブラウザからの書き込みだからsageない
0651nobodyさん2011/02/07(月) 15:36:16ID:???
保土ヶ谷区民ウゼェよ。
ID出さない奴に回答して悪いかボケ
0652nobodyさん2011/02/07(月) 15:47:18ID:???
ID非表示派のレスには。←が付いてるのは偶然の一致なのか?
おもしれぇなこのスレwwwwwwwwwwwwwwwwwwww
0653nobodyさん2011/02/07(月) 15:55:18ID:???
おまいら何回同じ議論したら気が済むの?
ローカルルール決めたって拘束力無いんだから意味無いじゃん
06546212011/02/07(月) 16:00:18ID:???
621以後の全部荒らしですから。
なんでスルーできないんですか?
0655nobodyさん2011/02/07(月) 16:03:36ID:???
質問が来ないから、皆、暇なんだよ。
0656nobodyさん2011/02/07(月) 16:46:32ID:???
>>655

(´・∀・`)ヘー

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

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

けど、質問への答えなんか見ていると、みんな優しいですよね。
0657nobodyさん2011/02/07(月) 16:48:49ID:???
>>656
質問ならIDを出すように。
0658nobodyさん2011/02/07(月) 17:02:58ID:???
>>655から この >>658までを
自演荒らしと言います。触れないように。
0659nobodyさん2011/02/07(月) 18:57:38ID:???
(・д・)チッ 自演かよ
0660nobodyさん2011/02/07(月) 20:48:41ID:???
http://itpro.nikkeibp.co.jp/article/NEWS/20110207/356986/

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

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

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

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

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

トークン処理とフォームの値の引き回しどうやってるか、参考意見貰えると嬉しいです
よろしくお願いします
0662nobodyさん2011/02/08(火) 00:57:30ID:???
セッションcookieとトークンcookieを分ければいいだけじゃね?
06636612011/02/08(火) 01:10:36ID:mUrsofMt
>>662
ありがとうございます
それはワンタイムトークンにして、ということですか?
0664nobodyさん2011/02/08(火) 01:13:13ID:???
とりあえず画面遷移とセッションのリードライトの流れを書いてよ
UMLでもいいし落書きでもいい
何を問題としてるのかよーわからん
06656612011/02/08(火) 02:22:45ID:???
>>664
ありがとうございます
これでわかるでしょうか?
http://sageuploader.vs.land.to/1upload/src/sage1_26674.png

同時に複数のウィンドウでフォームを開いて、トークンチェックしつつ(csrf対策で)
それぞれのフォームから入力された正しい値を登録させたいのです。

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

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処理}

うーん、スレ汚しすみません。意見貰えると嬉しいです
■ このスレッドは過去ログ倉庫に格納されています