PHP質問・雑談スレ【初心者お断り(ROM歓迎)】©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん 転載ダメ©2ch.net
2016/04/22(金) 08:58:11.47ID:???初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。
PHP未導入の方や、手取り足取りが必要な初心者の方はくだスレへどうぞ。
【PHP】下らねぇ質問はここに書き込みやがれ 4
http://echo.2ch.net/test/read.cgi/tech/1457792733/
その他リンク
・PHPマニュアル
https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
http://ideone.com/
・プログラミングのお題スレ Part8 (求PHPer参戦)
http://echo.2ch.net/test/read.cgi/tech/1444216746/
このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
(FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼
このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
(HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0123nobodyさん
2016/07/27(水) 16:01:19.35ID:???まあログに個人情報を書くと個人情報保護法が面倒だから
おれはログには個人情報は書かないかな
プログラム内のデバッグ用の細かい情報は生でもりもり書くから
それみられるのも恥ずかしいので暗号化くらいはしてもいいと思う
0124nobodyさん
2016/07/27(水) 17:26:21.33ID:???> だからマトモなシステムでは、そんなとこに秘匿情報は記録しねぇよ。
そうでもないよ
>>123
> まあログに個人情報を書くと個人情報保護法が面倒だから
全然面倒じゃありませんが
てか、小間個人情報を扱うシステムに携わったことないだろ?
0125nobodyさん
2016/07/27(水) 17:31:27.04ID:???> もう一つ、分かってねーみたいだから言っとくけど、
> ログにクレジットカード番号とか記録するなって言ってるのは、
> 「敵は外にいるとは限らない」からだぞ。
エラーログの話なんだが
お前の所のエラーログには、秘匿情報が山盛りなのか?
そんな低品質なプロダクトを公開するんじゃねーよ
0126nobodyさん
2016/07/27(水) 18:55:05.35ID:???お前が関わってるプロジェクトがそうであるかどうかは俺のしったこっちゃない。
一般論の話だ。おまえがどんなゴミクズ触ってようと、知らない。
>>125
おまえ、日本語読めない人? 本当に馬鹿ばっかだな。
0129nobodyさん
2016/07/29(金) 08:02:10.25ID:???そういう会社の処理ログが、顧客の入力した値を記録しないで成り立つの?
0130nobodyさん
2016/07/29(金) 08:36:16.04ID:???0132nobodyさん
2016/08/01(月) 11:38:46.41ID:???0133nobodyさん
2016/08/01(月) 14:21:42.59ID:???0135nobodyさん
2016/08/02(火) 20:44:34.08ID:???0136nobodyさん
2016/08/03(水) 05:52:42.70ID:???0137nobodyさん
2016/08/03(水) 07:14:20.85ID:???見れちゃいけないオレが見放題になってるんだけどなw
お前らの「必要だ!」なんか信じてたらWEBで買い物なんかできねーよw
0138nobodyさん
2016/08/03(水) 14:04:49.45ID:???個人特定する情報ならユーザIDでいいし
決済エラーでどのクレカ番号が決済できなかったとかそんなもん管理者が知る必要はないし
どう考えても悪意以外でクレカ情報をエラーログに書き込む必要性を感じない
0139nobodyさん
2016/08/03(水) 17:04:25.17ID:???ログを暗号化する話とパスワードを平文で保存するかどうかの話には大きな隔たりがあるんだけど、なんで同列の話であるかのようなレスをしたの?
0140nobodyさん
2016/08/03(水) 18:14:54.51ID:???> どう考えても悪意以外でクレカ情報をエラーログに書き込む必要性を感じない
ユーザの入力間違いが原因かもしれんで
0141nobodyさん
2016/08/03(水) 18:19:45.35ID:???例えばさ、ユーザから「ちゃんとパスワードを入力してるのにログインできない」とか言われたとき、
パスワードをログに出力しておかないと、本当に正しく入力したのかどうかわからんでしょ
まぁそれを暗号化してログに出力するかどうかは別問題だが
0142nobodyさん
2016/08/03(水) 18:33:34.90ID:???そんなシステムみたことないけど。
0143nobodyさん
2016/08/03(水) 18:34:56.68ID:???全部ログに吐くようにするわな
普段は生でも問題ないレベルにしておくけど
0144nobodyさん
2016/08/03(水) 20:02:41.89ID:???エラーログってのはエラーの内容を特定するために必要なものであって
入力内容をエラーログに書き込むようなことしないでしょ
パスワードが本当に正しいかなんてのは
そんなのパスワードリマインダー使うなり変更して下さいで済む問題で
管理者が知る必要のない情報
0145nobodyさん
2016/08/03(水) 20:45:26.54ID:???0146nobodyさん
2016/08/04(木) 04:09:07.48ID:???二次元配列をテキストファイルに行列形式で出力したいです。
fwriteとかfput_outなどで通常の配列は出力していたのですが、二次元配列だと
それができないようで、何か便利な関数や方法があれば教えていただきたいと思います。
よろしくお願い致します。
0147nobodyさん
2016/08/04(木) 11:10:02.45ID:???> エラーログってのはエラーの内容を特定するために必要なものであって
> 入力内容をエラーログに書き込むようなことしないでしょ
だから、その入力内容が原因でエラーが発生したという場合もあるのだから、入力内容を
ログ出力しておかないと後で調査できないという話なんだが。
> パスワードが本当に正しいかなんてのは
> そんなのパスワードリマインダー使うなり変更して下さいで済む問題で
いや済まない。
まず、ユーザが正しい入力をしたという認識なのだから、原因を特定するのはこちらの責任。
そもそも、ユーザがどうやってパスワードを管理・入力しようが、こちらは関係ないし。
0148nobodyさん
2016/08/04(木) 11:11:19.67ID:???> それができないようで、
できない。
> 何か便利な関数や方法があれば
ない。
それくらい、自分でコード書け。
0149nobodyさん
2016/08/04(木) 12:10:21.37ID:???多分 デバッグログ のつもりで書いているんだと思う。
デバッグログには、そりゃあもう何でも書くよ! 何でもだ!
0150nobodyさん
2016/08/04(木) 13:17:48.14ID:???それがデータベースの値と異なるとき、
* 過去にそのユーザのログイン実績があるなら、今回はユーザの入力間違い
* 過去にそのユーザのログイン実績がないなら、パスワード登録時にミスったか、今回ミスったかのどちらか
* 微レ存でバグ
0151nobodyさん
2016/08/04(木) 17:14:33.17ID:???PHPのアップデートでハッシュ関数にバグが入り、極まれな特定の入力でハッシュ値が以前と合わなくなっていた、なんてケースに当たったらどうするよ
0153nobodyさん
2016/08/04(木) 18:20:22.43ID:???実際それは考慮しないといけないかもよ。
入力もロジックも間違ってないことの確証が得られなければ永遠に原因追求させられかねん。
ここには絶対に間違いが無いので別の要因ですと言える証拠は必要。
0154nobodyさん
2016/08/04(木) 18:33:56.52ID:???0155nobodyさん
2016/08/04(木) 19:59:39.18ID:???欠陥PHPer
0156nobodyさん
2016/08/04(木) 22:54:18.36ID:???0158nobodyさん
2016/08/05(金) 07:56:52.51ID:???もうほっといた方がいいよ。
馬鹿だからプライドが一番大事なんだから、そいういう奴は。
0159nobodyさん
2016/08/05(金) 10:55:34.15ID:???それをしない奴ってマゾか何かなのか
0160nobodyさん
2016/08/05(金) 10:57:27.14ID:???調査楽だし
0161nobodyさん
2016/08/05(金) 10:58:43.00ID:???> 秘匿情報もログに全部出すべきだって言っちゃって引っ込みつかなくなってるだけだから
俺は逆にログに「出すべきじゃない」って奴のほうが引っ込みつかなくなってるように見えるが
0162nobodyさん
2016/08/05(金) 11:30:43.27ID:???最近はパスワードをログに出すのは良くないっぽいよ
システムのログでもデフォじゃパスワードっぽいのは *** にされる
おかげで入力ミスかどうかを調査するとき難儀したわ
ログには生の情報出せよ・・・ といつも思うわ
ログレベルで出力絞るのはいいけど、加工すんなや
0163nobodyさん
2016/08/05(金) 14:09:14.63ID:???$_GET, $_POST, $_SESSION, $_COOKIE, backtrace
を毎回全部出してるから、ログイン処理で致命的エラーが発生したら、パスワードも出力されるよ。
(E_NOTICE, E_USER_NOTICEはエラーログ出力しないとかはあるけど)
まぁ、エラーログ見られなきゃいいんじゃねーの的な。
0164nobodyさん
2016/08/05(金) 14:11:38.28ID:???調査楽だという理由にしても秘匿情報そのまま出すとか基地外
0168nobodyさん
2016/08/05(金) 18:36:53.61ID:???0169nobodyさん
2016/08/05(金) 23:23:47.40ID:???みたいな連想配列からユニークなvalueの一覧を作成するのってどうするのが一般的でしょうか。
とりあえず思いついているのは以下の通りです。1で大丈夫か心配です。
1. foreach( $items as $item )
if ( ! in_array($item[‘value’], $uniques )
$uniques[] = $item[‘value’]
2. foreach( $items as $item )
if ( ! isset( $item[‘value’], $uniques ))
$uniques[‘$item[‘value’]] = 0; // 0はダミー
3. array_column して array_unique
4. array_flip
0172nobodyさん
2016/08/07(日) 01:59:22.71ID:???1でいいけど条件文いれんでも$uniques[$item['value']]+=1;とかにしてarray_keys()とかkey()で取ればいいんじゃねと思う
配列操作はたいていforeachが早いイメージだけど3のやり方も好き
0174nobodyさん
2016/08/07(日) 12:35:28.47ID:???重複してれば何個重複してるかわかるし0入れるよりはいいんじゃね。
0175nobodyさん
2016/08/07(日) 13:01:13.41ID:???2から条件文抜くだけならいいけど。
0176nobodyさん
2016/08/07(日) 13:59:05.52ID:???0177169
2016/08/07(日) 15:48:01.41ID:???1より2の方が速そうだけども、キーだけが重要な配列は違和感が強く心配だったので意見いただけて助かりました。
集計にもなるって見方はなかった・・・どこかで使わせてもらいます。
0180nobodyさん
2016/08/08(月) 14:54:28.09ID:???0181nobodyさん
2016/08/08(月) 15:54:57.80ID:???0182nobodyさん
2016/08/08(月) 16:53:05.12ID:???0184nobodyさん
2016/08/12(金) 15:36:43.59ID:???0185nobodyさん
2016/08/12(金) 17:14:20.68ID:???0186nobodyさん
2016/08/13(土) 00:20:42.61ID:???さすがにお前らつくり話がすぎるぞwww
0187nobodyさん
2016/08/13(土) 11:20:29.98ID:???0188nobodyさん
2016/08/13(土) 13:46:49.50ID:???0189nobodyさん
2016/08/13(土) 20:36:20.52ID:???0190nobodyさん
2016/08/14(日) 05:54:00.76ID:???あったあった
0191nobodyさん
2016/08/14(日) 13:52:21.17ID:???メンバ変数全てにゲッターとセッターを作ってそれ経由で値を出し入れしてるんだが、全メンバ変数 public。
プログラムの方もメチャクチャなんだが、そっちはもう、キチガイすぎて語りきれない。
0192nobodyさん
2016/08/14(日) 14:05:05.36ID:???0193nobodyさん
2016/08/14(日) 14:31:47.30ID:???だが、全部の変数用のgetter、setterを作るのは、間違いなく思考停止した馬鹿。
そういうのは昔のデバッガが貧弱だった時代に妥協策だっただけだ。
0194nobodyさん
2016/08/18(木) 13:52:33.66ID:???0195nobodyさん
2016/08/18(木) 14:05:59.58ID:???ユーザーIDは普通に保存するけど
いや普通はセッションIDだけか
あーでもユーザIDくらいならついでに置いとくか
0196nobodyさん
2016/08/18(木) 14:28:41.06ID:???いちいち再ログインのための仕組みをプログラマー側が用意する必要はないだろ
0197nobodyさん
2016/08/18(木) 17:42:27.41ID:???0198nobodyさん
2016/08/18(木) 19:50:44.85ID:???0199nobodyさん
2016/08/18(木) 22:40:16.06ID:???いくらクッキーが安全といってもそれを適切に管理できないと凶器でしかない
0200nobodyさん
2016/08/19(金) 00:15:57.40ID:???そんなとこにpasswordを入れるかどうか議論したい馬鹿がいるのか?
もっと言うと、自動再ログインにpassword利用する猿がいるのか?
0201nobodyさん
2016/08/19(金) 01:32:24.21ID:???それが漏れたら一緒でしょ
0202nobodyさん
2016/08/19(金) 01:54:04.00ID:???0203nobodyさん
2016/08/19(金) 02:02:30.14ID:???それが漏れたら一緒でしょ
0204nobodyさん
2016/08/19(金) 03:43:44.27ID:???0206nobodyさん
2016/08/19(金) 12:58:11.17ID:???0207nobodyさん
2016/08/19(金) 13:01:18.67ID:???0208nobodyさん
2016/08/19(金) 13:05:46.20ID:???0209nobodyさん
2016/08/19(金) 13:23:55.93ID:???0211nobodyさん
2016/08/19(金) 14:27:14.14ID:???ある会社のWEBサービスが、皆さんよくご存知のセッションフィクセーション脆弱性があって、
その事を報告したら、
「んー、でもこれはガラケーに対応するにはしょうがないですからねぇ」
と言っていて、
『ああ、こいつどうしようもないな…」と思いながら、「まぁ、そうですね」と適当にあしらっておいた。
完全に避けることが出来ないのは事実だけからな。本人が良いって言ってるなら良いんだろう。
そんなサービス、俺は絶対使わないけど。
そのアホ管理職は経由したサーバーにどうしても残ってしまうセッションIDと、
だれかが罠はって仕掛けたセッションIDが受け入れられてしまう問題を同じだと考えている、
わけではなく、全く何がどうなっているのか分かっていない。
>>209の言っていることは、そういうことだ。
0212nobodyさん
2016/08/19(金) 14:33:27.48ID:???問題があるのはそこだけじゃなかったからだ。
もはや、マトモな箇所がほとんど見当たらないシステムばかりで、
1つ1つ指摘したとして、
言っている事が理解できるようなマトモな奴なら、そもそもこんな自体にはなっていないから、
危うきに近寄らず、ということでとっとと逃げた。
0215nobodyさん
2016/08/19(金) 19:28:51.84ID:???0216nobodyさん
2016/08/19(金) 19:36:38.37ID:???どんどん覚えるから、よろしくなり。
0217nobodyさん
2016/08/19(金) 21:07:15.26ID:???(例えばセッション情報等の)ログインに必要な情報 =(結局password同様)
という等号が成り立つと思ってるところが、
お前がアホ極まれリなところ。
>>215
お前誰?どういう論旨でそれを言ってるの?
結びつけてるシステムだけではなかったらなんなの?
0218nobodyさん
2016/08/19(金) 23:39:15.84ID:???0219nobodyさん
2016/08/19(金) 23:39:21.14ID:???高々数時間程度の有効期限しか持たない, システム側が都度生成する(したがってユーザのidentificationには使えない)セッションキーと
少なくとも数ヶ月程度の有効期限を持ちクライアントが選択するパスワード
これが各々漏れたときに「一緒」って, 寧ろどこが一緒なのかお尋ねしたいのだが
0220nobodyさん
2016/08/19(金) 23:59:37.98ID:???そんなもんをログイン保持に使うわけ無いだろ
0221nobodyさん
2016/08/20(土) 00:01:20.37ID:???一度でも侵入されたらそれで終わりだから
■ このスレッドは過去ログ倉庫に格納されています