【PHP】下らねぇ質問はID出して書き込みやがれ 103
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/01/25(火) 20:46:58ID:???過去スレ、関連スレ、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等)・フレームワークは各該当スレへ
0599nobodyさん
2011/02/06(日) 22:54:08ID:???0600nobodyさん
2011/02/06(日) 22:54:54ID:???0601597
2011/02/06(日) 23:02:13ID:VXFQ3KR5【PHPのバージョン】わかりません xamppの一番新しいの
【連携ソフトウェア】
【質問内容】
定義済み変数の一覧(´∀`(⊃*⊂)たいです。
クラスのメソッド内や、関数内だけで結構です。
0602597
2011/02/06(日) 23:03:35ID:VXFQ3KR50603nobodyさん
2011/02/06(日) 23:43:18ID:???0604nobodyさん
2011/02/06(日) 23:59:25ID:???定義済みの手続き型関数とユーザー定義関数はマニュアルの関数処理参照get_defined_functions
クラスのメソッドは別の標準関数で可能だが601の書き方で答える気が失せたのでパス
0605597
2011/02/07(月) 00:00:03ID:iMsNk9RA0607nobodyさん
2011/02/07(月) 00:09:28ID:???■get_defined_vars() - 全ての定義済の変数を配列で返す
■get_defined_constants() - すべての定数の名前とその値を連想配列として返す
■get_declared_classes() - 定義済のクラスの名前を配列として返す
0608nobodyさん
2011/02/07(月) 00:13:58ID:iMsNk9RAありがとうございます。神様。
0609nobodyさん
2011/02/07(月) 01:36:54ID:???0610nobodyさん
2011/02/07(月) 01:48:30ID:???0611nobodyさん
2011/02/07(月) 02:09:58ID:???「アーリー」だっつーの。
0612nobodyさん
2011/02/07(月) 02:17:18ID:???arrayはアーレイでもアーリーでもなく
あれー? が国内では一般的。
0613nobodyさん
2011/02/07(月) 02:18:37ID:???0614nobodyさん
2011/02/07(月) 02:19:59ID:???まだ、先輩とやらの方が近い。
これを聞いて(スピーカーアイコンクリックせれ)先輩に土下座してこい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:???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:???0620nobodyさん
2011/02/07(月) 08:57:52ID:???ェアレェェイです
0621nobodyさん
2011/02/07(月) 09:24:15ID:???||
|| ★ 荒らしは放置されるのが一番苦手。
|| → ウザイと思ったらそのまま放置よ。
|| ▲ 放置された荒らしは煽りや自作自演でアンタのレスを誘うよ。
|| → 釣られてレスしたらその時点でアンタの負け。
|| ■ 反撃は荒らしの滋養にして栄養であり最も喜ぶよ。
|| → 荒らしにはエサを与えないで。
|| ☆枯死するまで孤独に暴れさせておくのが一番。
|| /~ ヘヽ 。
|| リ/__・リ/ これ重要つーの E[]ヨ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/  ̄ ̄ ̄ ./| _____________
| ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0623nobodyさん
2011/02/07(月) 11:00:30ID:???0625nobodyさん
2011/02/07(月) 11:58:59ID:???0627nobodyさん
2011/02/07(月) 12:09:20ID:???◆質問する時の注意
前・出来るだけスレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
後・スレを上げて、必ず自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
ID表示を必須とすれば、質問と雑談を区別できると思いました。
0629nobodyさん
2011/02/07(月) 12:16:39ID:???◆質問する時の注意
前・出来るだけスレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
後・スレを上げて質問を目立たせたい人は、メール欄にageと記述する。
専ブラの人はsageチェックを外してメール欄にageと入れます。
どうせ下らねぇやりとりなんだから、質問と雑談を区別する必要はないと思いました。
0630nobodyさん
2011/02/07(月) 12:16:58ID:???そもそも>>1のそれは荒らしが勝手に修正して建てたものだから
本来は↓
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
0631nobodyさん
2011/02/07(月) 12:21:11ID:???これが良い
0633nobodyさん
2011/02/07(月) 12:24:12ID:???誰が立てたスレだろうがお前も認めてるからここを使ってんだろ?
文句があるなら別スレ立てればいいじゃねぇか。
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出せ厨に。
0638nobodyさん
2011/02/07(月) 14:20:30ID:???0639nobodyさん
2011/02/07(月) 14:21:47ID:???×IDを出す理由は既に論破されてる
丸IDを出す理由は既に語り尽くされていて今更語ることではない
0640nobodyさん
2011/02/07(月) 14:28:15ID:???何でこのスレに執着してんの?
わざわざこっち来ないであっち行けばいいだろ
【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/
0641nobodyさん
2011/02/07(月) 14:30:55ID:mwW3N5jfIDを出せと言う側がIDを絶対出さない卑怯者で姑息な口先だけの小心者なのが
問題なんです!よね?
0642nobodyさん
2011/02/07(月) 14:32:59ID:???タダのノイズなんだから面倒だが、その場その場でNGして相手にしなければ
いずれ飽きていなくなる。
0643nobodyさん
2011/02/07(月) 14:40:25ID:???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:???あいでいをだ
すださないに
こだわらない
ならふしあな
さんでかきこ
んでみろよで
てもでなくて
もかんけいな
いといいはる
やつらはぜん
いんがふしあ
なさんでかき
こんでみろよ
0648nobodyさん
2011/02/07(月) 15:16:10ID:???0649nobodyさん
2011/02/07(月) 15:20:40ID:???【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50
0650p4187-ipbf1702hodogaya.kanagawa.ocn.ne.jp
2011/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:???おもしれぇなこのスレwwwwwwwwwwwwwwwwwwww
0653nobodyさん
2011/02/07(月) 15:55:18ID:???ローカルルール決めたって拘束力無いんだから意味無いじゃん
0654621
2011/02/07(月) 16:00:18ID:???なんでスルーできないんですか?
0655nobodyさん
2011/02/07(月) 16:03:36ID:???0656nobodyさん
2011/02/07(月) 16:46:32ID:???(´・∀・`)ヘー
質問が来ないで暇になると、スレが荒れるんですか?
なんか、このスレの住民の方々って、痛いんですね。
けど、質問への答えなんか見ていると、みんな優しいですよね。
0659nobodyさん
2011/02/07(月) 18:57:38ID:???0660nobodyさん
2011/02/07(月) 20:48:41ID:???誰得
クソ簡単な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:???0663661
2011/02/08(火) 01:10:36ID:mUrsofMtありがとうございます
それはワンタイムトークンにして、ということですか?
0664nobodyさん
2011/02/08(火) 01:13:13ID:???UMLでもいいし落書きでもいい
何を問題としてるのかよーわからん
0665661
2011/02/08(火) 02:22:45ID:???ありがとうございます
これでわかるでしょうか?
http://sageuploader.vs.land.to/1upload/src/sage1_26674.png
同時に複数のウィンドウでフォームを開いて、トークンチェックしつつ(csrf対策で)
それぞれのフォームから入力された正しい値を登録させたいのです。
急いで書いたので誤字とかあるかも知れないです
確認画面でのパラメータのセッションへの格納方法は、実際は
$_SESSION['postParam']=$_POST; です
0666661
2011/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処理}
うーん、スレ汚しすみません。意見貰えると嬉しいです
0667nobodyさん
2011/02/08(火) 02:51:16ID:???0668nobodyさん
2011/02/08(火) 02:52:08ID:???金融系の処理なんかを見ればわかるけどそう言うケースではエラー出してセッションクリア後、最初からやり直させる
後、そのケースだとトークンはcsrf対策にはならん
トークンで対応出来るのはgetで登録出来るフローのみ
ブログでこの辺を勘違いしてる人間が多すぎる
本もね
0669nobodyさん
2011/02/08(火) 03:01:08ID:???<?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'] ){
//入力へリダイレクト
}
//値チェック
//登録
//登録完了
//セッション削除
?>
0670nobodyさん
2011/02/08(火) 03:02:57ID:???別画面はtoken[B]にすればいいんじゃね
別に同一セッションキー使う必要なくね?
0671nobodyさん
2011/02/08(火) 03:07:16ID:???何で入力フォームでトークンを発行してるの?
実登録は確認後なんだから意味ないと思うんだけど…
0672nobodyさん
2011/02/08(火) 03:12:00ID:???token発行
入力画面表示
↓
token存在確認&同一か確認
確認画面表示
↓
token存在確認&同一か確認
↓
登録
↓
登録完了
token削除
どこがおかしいのかな?www
0673nobodyさん
2011/02/08(火) 03:15:08ID:???おかしい
画面遷移で入力→登録なフローがあるならそれでもいいが
入力→確認→登録なら確認の時にトークンを発行するのが正しい
tokenが何の為にあるのかちゃんとした知識をつけな
0674nobodyさん
2011/02/08(火) 03:18:11ID:???一回登録されたら消えるんだから
確認画面をurl直接入力しても確認画面表示されないし、
完了後戻るで確認画面に行ってsubmitしてもセッションのtoken消えてるし
何が問題なんだよ?
0675nobodyさん
2011/02/08(火) 03:22:08ID:???tokenはmd5又はsha1を使用したとして入力→確認の遷移の度にハッシュ作成のコストと32-40byte無駄なPOSTをおくるわけ
大規模なWebサービスでそれやる人間がいたら俺は駄目な奴の烙印を押す
理由はtokenが何の為にあるのか理解せず使用しているから
0677nobodyさん
2011/02/08(火) 03:32:48ID:???意味もわからず風潮のみで使用して無駄なコストを払ってるのは大手サイトでもよくある事
理由無くjsをheadで定義するサイトなんてごまんとあるしね
0678nobodyさん
2011/02/08(火) 07:01:14ID:???0679nobodyさん
2011/02/08(火) 07:35:01ID:???0680nobodyさん
2011/02/08(火) 07:50:01ID:???いいかもね、ただ、へたすると社会が回らなくなるくらい浸透しちゃったからなあ。
0681nobodyさん
2011/02/08(火) 08:11:25ID:???0682nobodyさん
2011/02/08(火) 08:13:34ID:???0683nobodyさん
2011/02/08(火) 08:17:08ID:???0684nobodyさん
2011/02/08(火) 08:43:16ID:???東熱で、月額定額制以外の高画質ムービー購入に
必要なポイント的なもの。
1トークン=1US$
まとめ買いで割引あり。
0685nobodyさん
2011/02/08(火) 08:47:27ID:???それなら入力データをトークンをキーに複数
セッションに保存すればいいな
0686nobodyさん
2011/02/08(火) 08:50:31ID:???プログラミングを初歩からやりなおせ
0687nobodyさん
2011/02/08(火) 08:52:50ID:???せっかく教えてあげたのにw
東熱のシステム見ておいで。
金のやりとりがあるから、キッチリ作ってある。
エロ動画も見られて一石二鳥だよ。
0688nobodyさん
2011/02/08(火) 08:59:18ID:???0689661
2011/02/08(火) 10:47:23ID:???>>668
>後、そのケースだとトークンはcsrf対策にはならん
>トークンで対応出来るのはgetで登録出来るフローのみ
これはどういうことですか?
postでの送信にトークンはcsrf対策にならないってことですか?
>>669
if( $_SESSION['token_a'] != $_POST['token']['a'] ){ の検証処理ですが、
フォームごとにトークン格納用セッションを作るわけですよね。
この処理だと同じフォームのウィンドウを複数開いた時に、
先に開いた方のフォームが確認ページで不正処理されることになりませんか?
全く別のフォームを開いた時にしか機能しないんではと。。
登録後のセッション削除処理完全に忘れてました、気付かせてくれてありがとうございます。
>>673
たしかに確認画面でのトークン生成で十分ですね。
入力画面開くたびに余分な32バイト負荷かけるなんて考えもしませんでした
ありがとうございます
673さんはどうやって「複数画面(フォーム)での平行処理&CSRF対策」やってるんでしょうか?
0690nobodyさん
2011/02/08(火) 11:02:53ID:???http://takagi-hiromitsu.jp/diary/20060409.html
0691nobodyさん
2011/02/08(火) 11:14:47ID:???0692nobodyさん
2011/02/08(火) 11:27:13ID:???ほれ、いろいろ足らんだろ。
0693nobodyさん
2011/02/08(火) 11:58:41ID:???0694661
2011/02/08(火) 12:03:47ID:???ありがとうございます
それ両方とも読んだんですが、例に挙がってる確認画面でのpost値の保持が
hidden形式なので(高木さん)、自分のセッションに丸ごと入れるやり方だと
まんま流用できるとこまでいかないんです。
「まんま流用しないで自分で応用しろよ」て話だと思いますが
それで考えた方法が>>666です
入力〜確認〜登録 のフォームでの確認画面以降からのデータの持ち回し、
みんなhiddenでやってるわけじゃないですよね。
自分みたいにセッションに入れてる人もいるはずで、その場合どうやって
「複数画面(フォーム)での平行処理&CSRF対策」やってるんでしょうか?
ほんと長々すみません。
0695nobodyさん
2011/02/08(火) 12:11:34ID:???0696nobodyさん
2011/02/08(火) 12:46:02ID:LUHffT0l簡単な質問しか回答付いてるの見たこと無いです
0697nobodyさん
2011/02/08(火) 12:53:24ID:???■ このスレッドは過去ログ倉庫に格納されています