【PHP】下らねぇ質問はID出して書き込みやがれ 113
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/11/29(火) 19:55:27.17ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 112
http://hibari.2ch.net/test/read.cgi/php/1320005469/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0157nobodyさん
2011/12/06(火) 13:38:57.60ID:???0158nobodyさん
2011/12/06(火) 13:39:18.56ID:???0159nobodyさん
2011/12/06(火) 13:56:53.94ID:???メーラーが勝手に開くのは怖いしウザい
0160nobodyさん
2011/12/06(火) 14:10:13.41ID:???避けるべき実装
0161nobodyさん
2011/12/06(火) 14:12:49.28ID:16sWocHtメーラーが勝手に開くリンクからメール送ったことってほとんどないな。
0162150
2011/12/06(火) 14:19:00.41ID:bGnivCFjこんな簡単なんですか
すみませんでした、試してみます。ありがとうございました
>>159-161
ご意見どうもです
説明不足でしたが>>154の「1)リンクを踏む」のリンクに「メールを送る」と書くつもりです
多分大丈夫かと…
ありがとうございました
0164nobodyさん
2011/12/06(火) 16:56:44.79ID:???gmail しか使ってなかったり linux のクライアントだとメーラー設定してなかったり
あるのでテキスト直書きで、テキスト@hoge.com 件名は○○○で送ってください
とか併記しておいて欲しいと思う吉宗であった…
0165nobodyさん
2011/12/06(火) 20:56:46.07ID:16sWocHtURLはhoge.phpのまま変わらないというのがありますが、
これはPOSTメソッドで同じURLにPOSTして、ifなどで条件分岐して
表示を変えているんでしょうか?
この手法は一般的ですか?
トークンによるCSRF対策も問題なく動作しますか?
0167nobodyさん
2011/12/06(火) 21:00:57.91ID:16sWocHtありがとうございました。
cart1.php
↓
cart2.php
↓
cart3.php
とか書いていたのですが、ダサイので書き直します。
0168nobodyさん
2011/12/06(火) 22:44:11.20ID:QHQ8UGsv【PHPのバージョン】5.3
お世話になります。セッションについて勉強中です。
[A]というサイト上にあるログイン用のプログラムで
session_name(セッション名);
セッション名を設定した上でセッション利用
cookieにはランダム文字列のセッションIDが記録されます。
このあと、全く別サーバー・別ドメイン上にあるPHPで
echo $_COOKIE["セッション名"];
と書いてアクセスすると
[A]サイトのセッションID(ランダム文字列)が丸見えになっています。
1.悪意のある人が$_COOKIE["セッション名"];でセッションIDを抜き出す
2.偽装した上ですぐさま[A]サイトにアクセス
3.ログイン状態
となってしまうのではと想像しているのですが
何か良い対策は無いでしょうか?
セッションに対する自分の認識自体が間違っていたら面目ございません。
0172nobodyさん
2011/12/07(水) 14:57:42.29ID:???0173nobodyさん
2011/12/07(水) 16:15:10.80ID:wyHjvonwその場合、端末側のcookieは自動的に削除されますか?
端末側から一定時間操作をしないとセッションが終了しましたと
表示されるサイトがありますが、これはどのようなコードを
書いているのでしょうか?
セッションスタート時に、その時刻をセッション変数に記録する
次のセッションスタート時に、前回記録した時刻と現在時刻を比較して
一定以上経過していると、ログインページに案内する
こういう仕組みでいいのでしょうか。
それともsession.gc_maxlifetimeをいじればいいのでしょうか。
0174nobodyさん
2011/12/07(水) 16:27:58.44ID:???セッションは、時間で消され たり します。
session.gc_maxlifetime などが関係ありそうです。
また、それとは別にセッション時間を記録するのも、それでなにをしようと自由です。
そのときは、セッションを自分で消さなくちゃいけません。
0175nobodyさん
2011/12/07(水) 16:40:10.05ID:wyHjvonw>閉じようがずっと続くようにも出来ます。
逆に、ブラウザを閉じたらセッション終了するにはどうすればいいでしょうか。
0177173
2011/12/07(水) 16:49:16.54ID:wyHjvonwということは、
セッションが開始されると端末側にcookieができる(許可する場合)
サーバ側はそのcookieでセッションが継続していると判断する
ブラウザを閉じても、cookieがあって、セッションの有効期間中なら
セッションは継続される
ということですか?
別件ですが、セッションIDをURLに埋め込む場合、
どのようなセキュリティ対策が必要ですか?
1. http→httpsに移行するときにセッションIDを変更する
2. セッションIDが無効なときは、トップに転送
を考えていますが、セッションIDが無効かどうかはどのように判断できますか?
0178nobodyさん
2011/12/07(水) 16:53:00.73ID:???セッションを継続したり保持してるのはサーバーで
cookieに入れるのはその名前というかキーだな。 cookieがあったとしても
セッションがあるかどうかは別。
0179nobodyさん
2011/12/07(水) 17:01:38.88ID:???そのセッションIDつきのURLをほかの人が使ったときに、セッションの乗っ取りができないようにする対策が必要です
0180173
2011/12/07(水) 17:16:59.06ID:wyHjvonwありがとうございます。
たとえば、
アリスがセッション 111 をスタート
セッション111は失効または手続完了でdestroyされる
あとで、アリスまたはボブがセッション111をスタートしても、
前回の続きを表示せず、別の正当なセッションID 123 を発行する。
チャーリーが存在しないセッション 222 を指定したときは、
そのIDを無効として受け付けず、代わりに正当なセッションID 234 を
発行する。
このようなことができればいいと思っています。
0182173
2011/12/07(水) 17:21:57.43ID:wyHjvonwセッション111がガーベージコレクトされていなければ、
サーバ側にまだ情報は残っているので、セッション111を
指定すれば取り出すことはできないですか?
そういう意味で最初から存在しないものと区別したつもりだったのですが。
0183nobodyさん
2011/12/07(水) 17:29:53.80ID:???0184173
2011/12/07(水) 17:39:38.10ID:wyHjvonwsession_destory()はそういう仕様なのですね。
終了せず、放置されて有効期間が経過したときはどうでしょうか。
セッションの有効期間は15-25分程度を考えています。
0185nobodyさん
2011/12/07(水) 17:53:46.99ID:???削除タイミング。 検索して調べてね。
0186173
2011/12/07(水) 18:03:23.50ID:wyHjvonwありがとうございます。大体つかめてきました。
削除の確率を上げればいいんですね。
0187nobodyさん
2011/12/07(水) 18:27:44.54ID:???0188173
2011/12/07(水) 18:32:35.12ID:wyHjvonwどうでしょう。
商品を選ぶ→httpsに移動→配達先を入れる→確認→完了
という構成で、お金はオンライン決済ではなく代引きなどで
もらうので、少なくともhttpでの乗っ取りはさほど深刻ではないと
考えています。
0189nobodyさん
2011/12/07(水) 18:39:22.08ID:WEP6SmbY0190nobodyさん
2011/12/07(水) 18:58:36.31ID:???乗っ取った人が、商品を選ぶ→httpsに移動→配達先を入れる→確認→完了
ってやってもさほど深刻ではないということ?
0191nobodyさん
2011/12/08(木) 01:47:49.47ID:???sessionで生成される桁数を考えたら、ループで回すのも大変だろうし
もし不安なら、こんなのもあるから、コレでほぼ大丈夫だと思うよ。
http://d.hatena.ne.jp/do_aki/20100319/1269021432
人的コストとレスポンスが遅くなるコストよりも、こんな対策も考えてみてはいかが?
0192173
2011/12/08(木) 01:57:01.85ID:XeoPGUCwありがとうございます。
作ろうとしてるサイトでは、たぶん乗っ取るメリットがないので
あまり気にしていないのですが、最初のセッション開始時に
IPとUAを記録して、重要なステップの前にマッチするのはどうでしょう?
>>190
注文した人の情報が他人にわかると深刻ですが、
商品を選んでる段階ならもし乗っ取られても問題ないかと。
httpsに移動して配達先を入力してもらうところで
セッションIDを変更する処理を入れようと思いますが。
0193nobodyさん
2011/12/08(木) 02:10:40.20ID:???SESSION['IP']とかにIPを入れるんだったら
ま、毎回マッチさせてもいいんじゃない?それくらいなら
0195173
2011/12/08(木) 05:29:47.98ID:XeoPGUCwはい。会員登録やログインのシステムは作りません。
商品を選ぶ→httpsに移動→送り先を入れる→注文完了
これだけです。
>>193
そうですね。
CSRF対策は考えようと思っています。
0196nobodyさん
2011/12/08(木) 11:58:55.42ID:+gCf/58vvar $title = '';
と varがあるのと
$title = '';
と varがないんと
何が違うんですか?
0197nobodyさん
2011/12/08(木) 12:14:52.77ID:???http://jp2.php.net/manual/ja/language.oop5.properties.php
つけるべきところでつけなかったり、そうでないところで付けたらエラーになるだけです。
0198nobodyさん
2011/12/08(木) 21:45:37.59ID:DX40whZT見たことがないのですが
もし出来ないならば、代わりにどのような言語を使用すればいいのでしょうか?
0199nobodyさん
2011/12/08(木) 22:17:20.35ID:???http://www.neowin.net/forum/topic/406790-php-calculus-functions/
こんなんみつけますた
0200nobodyさん
2011/12/08(木) 22:34:16.63ID:WqXOej+6どんな用途だ?
計算時間など考慮して近似式に展開しておけば良いだろ。
厳密に必要だったら数値計算のライブラリやツール使う。
0202nobodyさん
2011/12/09(金) 00:19:24.53ID:???癖が強すぎる・・・
JavaScriptも癖はあるが、それでも他言語と感覚は近い
いかにPHPが素直で分かりやすい、扱いやすい言語かが分かる
0203nobodyさん
2011/12/09(金) 00:23:40.51ID:???微分、積分をfor()でループ?
想像が出来ないんだけど、具体的にどんな風にやるの?
f(x)をf'(x)にするとかどうなるんだろ・・・
2乗が書けないので変な書き方するけど、
f(x)=x2+3x+5の場合
f'(x)=2x+3
・・・う〜ん、俺には分からん
0205nobodyさん
2011/12/09(金) 01:24:09.48ID:CtDS5H650206nobodyさん
2011/12/09(金) 11:19:24.96ID:???Webサービスからデータを取得するときにも、GETではなくPOSTメソッドを使うような実装は一般的でしょうか?
GETメソッドとの使い分けが知りたいです。
0207nobodyさん
2011/12/09(金) 11:27:17.48ID:???postするときはPOST
0208nobodyさん
2011/12/09(金) 12:29:06.21ID:???0209nobodyさん
2011/12/09(金) 14:33:39.95ID:???ダメ元で【Twitter 初心者&質問スレ Part.10】に書きましたが、
プログラム寄りの話になるので、やはり返答がありませんでしたのでこちらへ移動しました。
質問内容は下記です。
お手数ですが、最適なスレへの誘導お願いいたします。
twitter developers(ttps://dev.twitter.com/)にログインしたのですが、
どこからログアウトすればいいのかわかりません。
ググってもどこでログアウトするかといった話題はありませんでした。
ログアウトはどこをたどっていけばいいのでしょうか?
0210nobodyさん
2011/12/09(金) 14:48:45.75ID:???質問に答えるときはメール欄にsageを入力
0211nobodyさん
2011/12/09(金) 14:52:37.85ID:???しかもどこに質問すればいいのか答えろって・・・
こういうときこそツイッターでつぶやけばいいと思うよ
またはヤフー!知恵袋へ
0212173
2011/12/09(金) 15:40:51.03ID:TzYxXuZs商品を選ぶ→httpsに移動→送り先を入れる→注文完了
こういうサイトで、セッション固定化攻撃に対するセキュリティ向上の
ために一度だけセッションIDを変更しようとおもいます。
そのタイミングは、httpsに移動した直後が適当でしょうか?
いくつかのブログを読むと
http://hoge.jp/?PHPSESSID=fuga
というURLにアクセスすれば、セッションIDがfugaとしてアクセスできるため
セッション固定化攻撃にぜい弱だと書いてありますが、
これは今のPHP5.3.xでもその仕様ですか?
0213nobodyさん
2011/12/09(金) 16:13:26.44ID:???対策はされていないので自分で面倒見ないといけない
タイミングはパスワード入力を要求される操作の直後にやると良い
ログインや個人情報にアクセスする時等
0214173
2011/12/09(金) 16:30:00.88ID:TzYxXuZsじゃあ個人情報の入力の直前がいいですね。
ありがとうございました。
0215nobodyさん
2011/12/09(金) 20:44:50.78ID:wAnNw8aSググりようがないです
0216nobodyさん
2011/12/09(金) 20:53:02.33ID:???unkoって表示する関数らしい
0217nobodyさん
2011/12/09(金) 20:54:52.90ID:8IpyhOyC[0]=>
string(9) "北海道"
[2]=>
string(9) "群馬県"
[4]=>
string(9) "栃木県"
[6]=>
string(9) "福島県"
[7]=>
string(9) "山梨県"
[8]=>
string(9) "東京都"
[10]=>
string(9) "福岡県"
[11]=>
string(9) "大阪府"
[17]=>
string(9) "新潟県"
[18]=>
string(9) "長野県"
[31]=>
string(9) "福井県"
[36]=>
string(9) "兵庫県"
[37]=>
string(9) "石川県"
}
こんな感じの配列で
配列の若い番号順に都道府県の上から(北海道から)の順にしたいんですがいい方法ありますか?
並べ替える配列はランダムで1〜50都道府県入れる予定です
0221nobodyさん
2011/12/10(土) 02:15:15.70ID:AgP8NyH3正規表現が死ぬほど苦手でこれの意味が・・・。
0-9の1回以上の連続まではわかるんですが、?![-\d]の部分が・・・。
0222nobodyさん
2011/12/10(土) 03:00:32.96ID:???4段落目くらいの「先読み明言」
http://www.mt312.com/php/43/
コレで分かるかな?
先読み明言とかのワードでググるといいよ
0224nobodyさん
2011/12/10(土) 03:40:07.81ID:AgP8NyH30-9とかならやったのですが、これは一体
0225nobodyさん
2011/12/10(土) 05:50:25.15ID:???'-'と[0-9]が続いたらって意味じゃねーの?
0226nobodyさん
2011/12/10(土) 05:56:58.47ID:???0228nobodyさん
2011/12/10(土) 09:37:02.84ID:???0229nobodyさん
2011/12/10(土) 09:44:02.24ID:???0230nobodyさん
2011/12/10(土) 14:21:42.31ID:???0231nobodyさん
2011/12/10(土) 15:22:41.26ID:???0232nobodyさん
2011/12/10(土) 17:52:27.36ID:TfT/FNf0【PHPのバージョン】5.3.5
【連携ソフトウェア】MySQL
【質問内容】
セッション変数でショッピングカートを作りました(途中まで)。
注文が確定したら最後にMySQLのDBに入れようと思ったのですが、
それまでの入力数量のチェックなどでhiddenで数字を渡したり
(利用者に余計な情報を与えることになる)いろんな変数を
操作する必要を考えると、最初からDBに入れて操作し、
最後に確定フラグを立てるなどした方が楽だと思いました。
これについて意見があればお願いします。
0233nobodyさん
2011/12/10(土) 18:01:02.76ID:???ただ、セッション使ってるなら hidden使う必要を感じないのですが。
0234nobodyさん
2011/12/10(土) 21:16:22.90ID:feHM4jBp【質問内容】
Apache の mod_rewrite ってありますよね。
あれと PHP で振り分けるのとでは、どちらが速いのでしょうか。
.htaccess って遅いイメージがあって
だったら PHP で振り分けたらどうだろうかと思い、質問しました。
また、速度以外の回答「 XX は XX なので XX の方がいい 」とかでも構いません。
0236nobodyさん
2011/12/11(日) 01:35:26.27ID:???0237232
2011/12/11(日) 01:47:05.86ID:RMtDV+6U遅くなりましたがありがとうございました。
ひとまずDBに入れるようにしてみました。
0238nobodyさん
2011/12/11(日) 16:23:44.02ID:fKRObUfnhttp://www.ne.jp/asahi/sun/patagonia/fulltext/fulltext.html
うまく全文検索できないときには掲示板に書きこんでくれ。
0239nobodyさん
2011/12/11(日) 16:31:06.92ID:???0240nobodyさん
2011/12/11(日) 17:13:17.83ID:???0241nobodyさん
2011/12/11(日) 19:42:59.08ID:b3WuJveFは可能でしょうか?
可能ならどんなやり方でやればいいのか教えて下さい。
あるいは、どんな文字列でググればいいのか教えて下さい。
0242nobodyさん
2011/12/11(日) 19:45:02.60ID:???0244nobodyさん
2011/12/11(日) 19:54:57.27ID:???0245nobodyさん
2011/12/11(日) 19:56:31.05ID:b3WuJveF0246nobodyさん
2011/12/11(日) 19:57:30.63ID:???0247nobodyさん
2011/12/11(日) 19:58:30.48ID:???0248nobodyさん
2011/12/11(日) 20:01:05.49ID:???わけわからん記号がいっぱい出てくるけどめげずに頑張れや
0249nobodyさん
2011/12/11(日) 20:01:32.12ID:???0250nobodyさん
2011/12/11(日) 20:02:20.81ID:???0251nobodyさん
2011/12/11(日) 20:03:19.03ID:b3WuJveF0252nobodyさん
2011/12/11(日) 20:04:06.31ID:b3WuJveFでは、どうすればいいでしょうか?
0253nobodyさん
2011/12/11(日) 20:07:14.66ID:???0254nobodyさん
2011/12/11(日) 20:18:53.06ID:b3WuJveF<head>
<title>preg_match2.php</title>
</head>
<body>
<?php
$str = "WEB means a server system using world wide web technology."; //検索される文字列
$str1= "means"; //キーワードその1
$str2= "using"; //キーワードその2
preg_match(〜〜〜〜, $arr_str ); // キーワード1、2に挟まれた文字列を$arr_strに格納
print $arr_str[0]; // キーワード1、2に挟まれた文字列を出力
?>
</body>
</html>
こんな感じで書いてみました。
どなたか、〜〜〜〜の部分を考えてやって下さい、お願いします!
0255nobodyさん
2011/12/11(日) 20:19:57.66ID:???0256nobodyさん
2011/12/11(日) 20:34:15.99ID:b3WuJveF■ このスレッドは過去ログ倉庫に格納されています