PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 8
http://mevius.5ch.net/test/read.cgi/tech/1489506082/
次スレは>>980以降
本文の1行目に以下を追加すること
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
探検
【PHP】下らねぇ質問はここに 9
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 538a-od5V)
2017/12/20(水) 18:00:20.28ID:1xaO/YRR0405デフォルトの名無しさん (ワッチョイ 06d5-++Qy)
2018/08/12(日) 07:20:34.52ID:l4hCxpRe0 変更可能だとどんな危険が考えられるの?
406デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 09:08:50.60ID:9ChOuHra0 >>405
行儀の悪いモジュールやライブラリとか使うと書き換えられるかも。ってぐらい。
実際にはそれほど気にしなくて良いレベルだけど、それを気にしなきゃいけないプログラムは多い。
読みやすく/使いやすく/再利用性の高いコード書くってことは、結合を疎に保つことが重要なんで、そのあたり理解してると $_POST はまず使わん。
行儀の悪いモジュールやライブラリとか使うと書き換えられるかも。ってぐらい。
実際にはそれほど気にしなくて良いレベルだけど、それを気にしなきゃいけないプログラムは多い。
読みやすく/使いやすく/再利用性の高いコード書くってことは、結合を疎に保つことが重要なんで、そのあたり理解してると $_POST はまず使わん。
407デフォルトの名無しさん (ワッチョイ 0a7f-EgBt)
2018/08/12(日) 15:04:58.70ID:9ilCyu/u0 GETも同じ?
408デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 15:27:03.70ID:bsEI5sh70 >>404
>$_POST が危険って言われるのは、変更可能なスーパーグローバルだから。
>filter_input は は HTTP で投げられた値を直接参照するので、$_POST とは全然別物。
$_POST が危険って言うのは聞いたことがないんだが、
Webサーバーが受けとったリクエストをPHPが取得して変数に代入している訳だろう?
PHPスクリプトが変数の値を参照するのに誰かが割り込めるのかな
リクエスト内容を直接参照すれば他が割り込めなくなるとは思えないが
filter_input がやれるなら、他も出来ると言うことだろう
>$_POST が危険って言われるのは、変更可能なスーパーグローバルだから。
>filter_input は は HTTP で投げられた値を直接参照するので、$_POST とは全然別物。
$_POST が危険って言うのは聞いたことがないんだが、
Webサーバーが受けとったリクエストをPHPが取得して変数に代入している訳だろう?
PHPスクリプトが変数の値を参照するのに誰かが割り込めるのかな
リクエスト内容を直接参照すれば他が割り込めなくなるとは思えないが
filter_input がやれるなら、他も出来ると言うことだろう
409デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 15:35:31.72ID:bsEI5sh70 $HTTP_POST_VARS って変数があり、
これはスーパーグローバルではないけれど
現在は非推奨となってる
これはスーパーグローバルではないけれど
現在は非推奨となってる
410デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 20:02:51.29ID:9ChOuHra0 >>408
ここで言う「危険」は「セキュアじゃない」って意味ではなくて、「コードが意図した通り動かない可能性がある」とかの意味。
$_POST は「スーパーグローバル変数」なので、コード内のいたる箇所で書き換えることが可能。
で、書き換えちゃった場合、それを使用している他の箇所にも影響出るよね。ってことを危険っ言ってる。
普通は書き換え行うようなことはしないけど、何かの意図があって書き換えた場合、後に想定を超える影響を及ぼす可能性が大。
filter_input は読み取りのみが保証されるので、疎結合なコードを書くには filter_input を使用することが必須。
>> 407
GET も考え方は同じ。
ここで言う「危険」は「セキュアじゃない」って意味ではなくて、「コードが意図した通り動かない可能性がある」とかの意味。
$_POST は「スーパーグローバル変数」なので、コード内のいたる箇所で書き換えることが可能。
で、書き換えちゃった場合、それを使用している他の箇所にも影響出るよね。ってことを危険っ言ってる。
普通は書き換え行うようなことはしないけど、何かの意図があって書き換えた場合、後に想定を超える影響を及ぼす可能性が大。
filter_input は読み取りのみが保証されるので、疎結合なコードを書くには filter_input を使用することが必須。
>> 407
GET も考え方は同じ。
411デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 20:18:35.31ID:bsEI5sh70 >>410
そういうのはバグって行って、POSTスーパーグローバル変数の問題ではないなあ
使い方が間違えているか、ワザとそうしているかだろう
普通に推奨されている方法をあえてとらないって 意味が無いと思う
自分だけでやってシステムが終わるまでメンテするって言うなら良いけど
そういうのはバグって行って、POSTスーパーグローバル変数の問題ではないなあ
使い方が間違えているか、ワザとそうしているかだろう
普通に推奨されている方法をあえてとらないって 意味が無いと思う
自分だけでやってシステムが終わるまでメンテするって言うなら良いけど
412デフォルトの名無しさん (ワッチョイ 0a7f-EgBt)
2018/08/12(日) 20:51:00.05ID:9ilCyu/u0 >>410
なるほど、ありがとう
なるほど、ありがとう
413デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 20:56:57.73ID:9ChOuHra0 >>411
バグの入る余地をなくして、読みやすく/使いやすく/再利用性の高い危険を回避したコードを書くには、結合を疎に保つことが重要
で、結合を疎に保つには filter_input を使用することが推奨されるって話なんだけど、通じてる?
普通に推奨されている方法をあえてとらないって 意味が無いと思う
自分だけでやってシステム終わるまでメンテするって言うなら良いけど
バグの入る余地をなくして、読みやすく/使いやすく/再利用性の高い危険を回避したコードを書くには、結合を疎に保つことが重要
で、結合を疎に保つには filter_input を使用することが推奨されるって話なんだけど、通じてる?
普通に推奨されている方法をあえてとらないって 意味が無いと思う
自分だけでやってシステム終わるまでメンテするって言うなら良いけど
414デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 21:02:18.40ID:bsEI5sh70 あえて書き直すほどの事は無いと思う
開発する人間が注意すれば避けられること
そこまで拘るなら、Webサーバー使わずに
自前でリクエストを受けとってしまえば良いんじゃない?
普通に推奨されているとは思わないよ。そんな関数初めて聞いたし。
どこでそんな事で大騒ぎになっているの?サイト教えて
開発する人間が注意すれば避けられること
そこまで拘るなら、Webサーバー使わずに
自前でリクエストを受けとってしまえば良いんじゃない?
普通に推奨されているとは思わないよ。そんな関数初めて聞いたし。
どこでそんな事で大騒ぎになっているの?サイト教えて
415デフォルトの名無しさん (ワッチョイ 06d5-++Qy)
2018/08/12(日) 21:24:00.23ID:l4hCxpRe0 疎結合と filter_input がいまいち結び付かん。
HTTPリクエストから必要パラメタを取り出しオブジェクト化して、後はそのオブジェクトを使ってパラメタにアクセスしましょうってんならHTTPリクエストを隠蔽できて疎かなって気もするが。
$_POST の代わりに filter_input を使うと何と何が疎になるの?って感じ。
HTTPリクエストから必要パラメタを取り出しオブジェクト化して、後はそのオブジェクトを使ってパラメタにアクセスしましょうってんならHTTPリクエストを隠蔽できて疎かなって気もするが。
$_POST の代わりに filter_input を使うと何と何が疎になるの?って感じ。
416デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 21:37:43.85ID:9ChOuHra0 >>414
変数のスコープのの話なんて、適当に探せばいくらでも出てくるだろうに^^;
堅牢なコードを理解してないみたいなんで、これでも見て意識改善するといいよ。
https://youtu.be/17i1EL9pBwA
変数のスコープのの話なんて、適当に探せばいくらでも出てくるだろうに^^;
堅牢なコードを理解してないみたいなんで、これでも見て意識改善するといいよ。
https://youtu.be/17i1EL9pBwA
417デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 21:44:39.30ID:9ChOuHra0 >>415
> HTTPリクエストから必要パラメタを取り出しオブジェクト化して、後はそのオブジェクトを使ってパラメタにアクセスしましょうってんならHTTPリクエストを隠蔽できて疎かなって気もするが。
その認識で正しいと思うよ。
ただ、それはそれ。
取り出しの時に行儀の悪いモジュールやライブラリ使用したときに、邪魔される可能性は残る。
取り出しのときにでかいスコープを回避できる 読み取り専用の関数を使用すると、予防的にコードが書けるってことです。
> HTTPリクエストから必要パラメタを取り出しオブジェクト化して、後はそのオブジェクトを使ってパラメタにアクセスしましょうってんならHTTPリクエストを隠蔽できて疎かなって気もするが。
その認識で正しいと思うよ。
ただ、それはそれ。
取り出しの時に行儀の悪いモジュールやライブラリ使用したときに、邪魔される可能性は残る。
取り出しのときにでかいスコープを回避できる 読み取り専用の関数を使用すると、予防的にコードが書けるってことです。
418デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 22:17:31.77ID:bsEI5sh70 PHPを扱うサイトでfilter_input が話題になっている所あるの?
見つからないんだけど
普通に推奨されている位だから、たくさんあってもおかしくはないよね?
見つからないんだけど
普通に推奨されている位だから、たくさんあってもおかしくはないよね?
419デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 22:25:25.71ID:bsEI5sh70 Webサーバーからリクエストを受けとるのに隠蔽も何もないと思うけどね
グローバル変数だから書き換えられる可能性があるというのも変
書き換えているのは自分じゃないか。人のせいには出来ないでしょう
大勢で開発しているなら、その処理を行う担当以外は操作禁止にするだけだし
グローバル変数だから書き換えられる可能性があるというのも変
書き換えているのは自分じゃないか。人のせいには出来ないでしょう
大勢で開発しているなら、その処理を行う担当以外は操作禁止にするだけだし
420デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 22:26:50.06ID:9ChOuHra0421デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 22:29:18.96ID:9ChOuHra0 >>419
@t_wada の前でも同じこと言えんの?
@t_wada の前でも同じこと言えんの?
422デフォルトの名無しさん (ワッチョイ 1b5d-2km2)
2018/08/12(日) 22:31:31.01ID:mMH07JtW0 既存コードを修正すべきだとまでは言わないが, 新規コードにはfilter_inputを使うべきだという点に関しては疑う余地がない
423デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 22:40:35.81ID:bsEI5sh70 >>420
つまり、公開されているPHP関連のサイトではそのような話題が出ていないと言うことでOK?
つまり、公開されているPHP関連のサイトではそのような話題が出ていないと言うことでOK?
424デフォルトの名無しさん (ワッチョイ 06d5-++Qy)
2018/08/12(日) 22:49:31.76ID:l4hCxpRe0 >>419
んまあデバッグしたりコマンドラインでも実行できるようにしたりする可能性を考えると、HTTPリクエストの扱いは浮かせて置いた方がいいかなって気はするよ。
後は同意。
$_POST がダメで filter_input ならいいって話には繋がらないと思うし、$_POST をわざわざ書き換えるならあえてそういう設計なんだろうけど、それが甘いか明確になってないだけじゃねとしか思わん。
そういう設計はかくかく然々でお勧めしないよって話ならまだ聞ける。
ちなみに >>416 は見たよ。
話のうまいやつで面白かったよ。
PHP にも assert あったのね。しかも運用時にいないことにできるとか、なかなかいいじゃないか。
んまあデバッグしたりコマンドラインでも実行できるようにしたりする可能性を考えると、HTTPリクエストの扱いは浮かせて置いた方がいいかなって気はするよ。
後は同意。
$_POST がダメで filter_input ならいいって話には繋がらないと思うし、$_POST をわざわざ書き換えるならあえてそういう設計なんだろうけど、それが甘いか明確になってないだけじゃねとしか思わん。
そういう設計はかくかく然々でお勧めしないよって話ならまだ聞ける。
ちなみに >>416 は見たよ。
話のうまいやつで面白かったよ。
PHP にも assert あったのね。しかも運用時にいないことにできるとか、なかなかいいじゃないか。
425デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 22:55:53.50ID:bsEI5sh70 キーワードで検索出来ないってことがとても不自然に感じるんだけど
普通に推奨されていると言うなら、行う記事があってもおかしくはないよね
まさか、この関数が非公開関数で秘密にしないといけないものだったりして
普通に推奨されていると言うなら、行う記事があってもおかしくはないよね
まさか、この関数が非公開関数で秘密にしないといけないものだったりして
426デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 22:59:03.40ID:9ChOuHra0427デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 22:59:36.87ID:bsEI5sh70428デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 23:01:06.85ID:bsEI5sh70429デフォルトの名無しさん (ワッチョイ 06d5-++Qy)
2018/08/12(日) 23:04:19.57ID:l4hCxpRe0 >>426
よく言われるようなグローバル使うなって話は、自分で定義するのは極力避けましょうってことであり、用意されてるものを使うなって話ではないんじゃない?
よく言われるようなグローバル使うなって話は、自分で定義するのは極力避けましょうってことであり、用意されてるものを使うなって話ではないんじゃない?
430デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 23:07:19.08ID:bsEI5sh70 そんな事実上の内部バグを問題にするよりも
リクエスト投げてくるのは、こちらが用意したフォームとは限らない、
想定外のリクエストに乗せられることが現実に発生するんだし、
そちらのチェックの方が重要だと思うよ
そういう実際的な話題を提供して議論する方が良いと思うな
リクエスト投げてくるのは、こちらが用意したフォームとは限らない、
想定外のリクエストに乗せられることが現実に発生するんだし、
そちらのチェックの方が重要だと思うよ
そういう実際的な話題を提供して議論する方が良いと思うな
431デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 23:08:04.47ID:9ChOuHra0432デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 23:09:31.00ID:9ChOuHra0 途中で投稿してしまった。
> $_POST が危険って言われるのは、変更可能なスーパーグローバルだから。
> filter_input は HTTP で投げられた値を直接参照するので、$_POST とは全然別物。
> ググってでてくる情報で、変数汚染に触れてる記事はないので、概要知らないとたどり着けないんだぜぃ!
> $_POST が危険って言われるのは、変更可能なスーパーグローバルだから。
> filter_input は HTTP で投げられた値を直接参照するので、$_POST とは全然別物。
> ググってでてくる情報で、変数汚染に触れてる記事はないので、概要知らないとたどり着けないんだぜぃ!
433デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/12(日) 23:15:01.27ID:9ChOuHra0 >>429
改変されるリスクの有無は同じなので、限定した話ではない。
改変されるリスクの有無は同じなので、限定した話ではない。
434デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 23:15:09.06ID:bsEI5sh70 ググっても出てこない関数がどうして普通に推奨されていると言うのか、
その根拠を聞きたかったんですが
そんなに話題に上らない関数と言うことで良いんでしょうか?
その根拠を聞きたかったんですが
そんなに話題に上らない関数と言うことで良いんでしょうか?
435デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/12(日) 23:17:10.07ID:bsEI5sh70 しつこくて済みませんが、グローバル変数を使うなと言うのは、一種の宗教だと思うんです
信じる人はそうすれば良いけど、信じない人はそうしなくてもいいと言う程度で
信じる人はそうすれば良いけど、信じない人はそうしなくてもいいと言う程度で
436デフォルトの名無しさん (ワッチョイ 1b5d-2km2)
2018/08/12(日) 23:32:41.22ID:mMH07JtW0 PHP The Right Wayくらいは必読だと思う
ttps://www.phptherightway.com/#data_filtering
理由もなくスーパーグローバルを直接叩くようなコードを新しく書いたならそれだけでrejectするに足る
それ以外のグローバル変数も納得出来る説明がコードやコメントに無いならreject
ttps://www.phptherightway.com/#data_filtering
理由もなくスーパーグローバルを直接叩くようなコードを新しく書いたならそれだけでrejectするに足る
それ以外のグローバル変数も納得出来る説明がコードやコメントに無いならreject
437デフォルトの名無しさん (ワッチョイ 0a7f-EgBt)
2018/08/12(日) 23:50:35.68ID:9ilCyu/u0 エラーが起きない方法をとるのに越した事はないと思うけど、何をそんなにむきになってるのだろう
438デフォルトの名無しさん (オイコラミネオ MMeb-++Qy)
2018/08/13(月) 01:59:19.53ID:eWNl9K1lM >>436
そこからどこまで読めばお前さんの言いたいことが書いてあるのが分からんが、とりあえず外部データをサニタイズせずに使うことの危険性なんかを説明してるのかな?
それを解決するのに filter_input や filter_var を使えますよという話だよね?
グローバル使うな的な話は書いてないようだが、ただ実はもしやと思ってたんだけど、register_globals を使うなって話と混同してるんじゃない?
それは危ないから使わない方がいいよ。
そしてそれは $_POST を使うななんてこととは全く関係無い。
そこからどこまで読めばお前さんの言いたいことが書いてあるのが分からんが、とりあえず外部データをサニタイズせずに使うことの危険性なんかを説明してるのかな?
それを解決するのに filter_input や filter_var を使えますよという話だよね?
グローバル使うな的な話は書いてないようだが、ただ実はもしやと思ってたんだけど、register_globals を使うなって話と混同してるんじゃない?
それは危ないから使わない方がいいよ。
そしてそれは $_POST を使うななんてこととは全く関係無い。
439デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 11:03:05.76ID:rjxAd60g0 >>434
ずっと同じことのループやねぇ。。。
> ググっても出てこない関数がどうして普通に推奨されていると言うのか、
ググって出てこないのは、$_POST の危険な理由。
関数としては各所で便利だぜぃ。って紹介されている。
PHP The Right Way もその一つ。
ずっと同じことのループやねぇ。。。
> ググっても出てこない関数がどうして普通に推奨されていると言うのか、
ググって出てこないのは、$_POST の危険な理由。
関数としては各所で便利だぜぃ。って紹介されている。
PHP The Right Way もその一つ。
440デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 11:05:41.03ID:rjxAd60g0 >>435
> しつこくて済みませんが、グローバル変数を使うなと言うのは、一種の宗教だと思うんです
宗教じゃなくて、意識の話。読みやすく/使いやすく/再利用性の高いコード書くことを意識していれば、グローバル変数の使用はまず避けるように設計する。
避ける気がないのは、読みやすく/使いやすく/再利用性の高いコード書く意識が無いってだけ。
> しつこくて済みませんが、グローバル変数を使うなと言うのは、一種の宗教だと思うんです
宗教じゃなくて、意識の話。読みやすく/使いやすく/再利用性の高いコード書くことを意識していれば、グローバル変数の使用はまず避けるように設計する。
避ける気がないのは、読みやすく/使いやすく/再利用性の高いコード書く意識が無いってだけ。
441デフォルトの名無しさん (ワッチョイ 6bcc-2km2)
2018/08/13(月) 11:35:41.06ID:V6shauct0442デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 11:43:06.68ID:XxWurSAu0 filter_input 自体は $_POST使っているんでしょ?
443デフォルトの名無しさん (オイコラミネオ MM56-++Qy)
2018/08/13(月) 12:32:33.81ID:ZXAQ0ZmcM444デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 12:48:25.49ID:rjxAd60g0445デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 12:50:40.98ID:rjxAd60g0446デフォルトの名無しさん (オイコラミネオ MM56-++Qy)
2018/08/13(月) 13:13:48.26ID:ZXAQ0ZmcM >>444
あ、ごめん
別の人と混同してたわ
それはそれとして結合を疎にする話、自分でグローバル変数を用意してそれを介して複数クラスやモジュールでコミュニケーションするって話ならそれは結合が密だと言えると思う。
でもただシステムが用意してるリソースを参照するからと言ってそれが密かと言えばそうじゃないし、密だったとしてそれを疎にするためにラップしなさいっていうならそれは分かる。
filter_input 使ったところで何が疎になってるの?って感じだけど、そこらへんどうなの?
若干繰り返しになるけど、PHP固有の関数である filter_input 自体を直接参照せずラップしましょうってところまで行ってるのであれば、そういう方法論もあるかと思うよ。
グローバル変数誰かが書き換えたら不具合が起こるって、スコープが狭いだけでクラスメンバ変数を誰かが書き換えちゃったらという話と同じような話でしょ。
早い話、選定してるものを仕様通りに使ってないという問題なんだかrさ。
あ、ごめん
別の人と混同してたわ
それはそれとして結合を疎にする話、自分でグローバル変数を用意してそれを介して複数クラスやモジュールでコミュニケーションするって話ならそれは結合が密だと言えると思う。
でもただシステムが用意してるリソースを参照するからと言ってそれが密かと言えばそうじゃないし、密だったとしてそれを疎にするためにラップしなさいっていうならそれは分かる。
filter_input 使ったところで何が疎になってるの?って感じだけど、そこらへんどうなの?
若干繰り返しになるけど、PHP固有の関数である filter_input 自体を直接参照せずラップしましょうってところまで行ってるのであれば、そういう方法論もあるかと思うよ。
グローバル変数誰かが書き換えたら不具合が起こるって、スコープが狭いだけでクラスメンバ変数を誰かが書き換えちゃったらという話と同じような話でしょ。
早い話、選定してるものを仕様通りに使ってないという問題なんだかrさ。
447デフォルトの名無しさん (ワッチョイ 6beb-dFjz)
2018/08/13(月) 13:22:06.99ID:+hDvRkt20 個人的には $_POST をリードオンリーにして使ってるが、俺だけだろうな
448デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 13:41:09.92ID:rjxAd60g0 >>446
filter_input は HTTP で投げられた値を直接参照するので、$_POST とは全然別物
スーパグローバル変数は「参照」できるだけでなく、「書き込む」こともできるのでどう使っても密になる。
オブジェクトのプロパティに「POST内容を突っ込んでおく」場合でも、スーパーグローバル変数を使用して取り出すと行儀の悪いモジュールやライブラリに邪魔される可能性が残る。
取り出しのときに読み取り専用の関数を使用すると、そういった結合を疎にすることができ、予防的にコードが書ける。
で、ここで言う読み取り用の関数が filter_input
> グローバル変数誰かが書き換えたら不具合が起こるって、スコープが狭いだけでクラスメンバ変数を誰かが書き換えちゃったらという話と同じような話でしょ。
読みやすく/使いやすく/再利用性の高いコード書く場合は、発想が逆でそういった事をさせないように設計する。
堅牢なコードを理解してないみたいなんで、これでも見て意識改善するといいよ。
https://youtu.be/17i1EL9pBwA
filter_input は HTTP で投げられた値を直接参照するので、$_POST とは全然別物
スーパグローバル変数は「参照」できるだけでなく、「書き込む」こともできるのでどう使っても密になる。
オブジェクトのプロパティに「POST内容を突っ込んでおく」場合でも、スーパーグローバル変数を使用して取り出すと行儀の悪いモジュールやライブラリに邪魔される可能性が残る。
取り出しのときに読み取り専用の関数を使用すると、そういった結合を疎にすることができ、予防的にコードが書ける。
で、ここで言う読み取り用の関数が filter_input
> グローバル変数誰かが書き換えたら不具合が起こるって、スコープが狭いだけでクラスメンバ変数を誰かが書き換えちゃったらという話と同じような話でしょ。
読みやすく/使いやすく/再利用性の高いコード書く場合は、発想が逆でそういった事をさせないように設計する。
堅牢なコードを理解してないみたいなんで、これでも見て意識改善するといいよ。
https://youtu.be/17i1EL9pBwA
449デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 14:57:40.05ID:XxWurSAu0 これ以上やっても信仰する宗教のようなのでやめますが
php.netで $_POST変数が非推奨になり、filter_input関数が推奨になったら
その時に考えることにします
今は、いくつかある対策方法の一つとして聞いておきます
php.netで $_POST変数が非推奨になり、filter_input関数が推奨になったら
その時に考えることにします
今は、いくつかある対策方法の一つとして聞いておきます
450デフォルトの名無しさん (オイコラミネオ MMdf-++Qy)
2018/08/13(月) 15:25:20.03ID:6I003ZzcM451デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 15:48:38.75ID:rjxAd60g0 >>450
複数クラスやモジュールでコミュニケーションしてしまう状態
複数クラスやモジュールでコミュニケーションしてしまう状態
452デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 15:54:21.02ID:XxWurSAu0 あなたはそういう風に使いたいのかも知れないが
普通の人はそうは使わない
いつまで自分の信仰に拘るんだろう
普通の人はそうは使わない
いつまで自分の信仰に拘るんだろう
453デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 16:14:12.67ID:rjxAd60g0454デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 16:22:06.43ID:XxWurSAu0 汚染する犯人は自分以外にいないんですが
多重人格者でもなければ心配ないでしょう
多重人格者でもなければ心配ないでしょう
455デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 16:27:52.12ID:rjxAd60g0456デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 16:29:04.74ID:XxWurSAu0 汚染の原因なんて事前に特定出来るでしょう
それが出来ない人だから、こんなことするの?
それが出来ない人だから、こんなことするの?
457デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 16:33:01.17ID:rjxAd60g0458デフォルトの名無しさん (ワッチョイ 1b5d-2km2)
2018/08/13(月) 16:33:50.13ID:LXDaPxOa0 一か月前の自分は他人だよ
一年も経てば細部なんて何も覚えてない
俺は自分にそこまで自信を持てないわ
一年も経てば細部なんて何も覚えてない
俺は自分にそこまで自信を持てないわ
459デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 16:44:20.77ID:XxWurSAu0 防げるのはせいぜい自分が書く内部バグくらい?
外部からの攻撃については無力
コツコツとバリッドチェックを用意することになるのは変わらない
こんなんでも堅牢なシステムだって言えるんだろうか
外部からの攻撃については無力
コツコツとバリッドチェックを用意することになるのは変わらない
こんなんでも堅牢なシステムだって言えるんだろうか
460デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 16:46:25.51ID:XxWurSAu0 グローバル変数に対して誤って代入している箇所を見つける事が
そんなに難しいことなんだろうか?
そんなに難しいことなんだろうか?
461デフォルトの名無しさん (ワッチョイ 0a7f-EgBt)
2018/08/13(月) 16:50:37.23ID:B8BpXPvN0 >>456 は結局のところ「注意すれば事足りるでしょ?」ってことを昨日からずっと言い続けてるよね
その注意をかける負担を減らせる手段を一つでも盛り込む事に反発する理由なんて一つもないと思うんだけどな
俺の頭がおかしいのかそうじゃないのかよく分かんなくなってくるじゃん
その注意をかける負担を減らせる手段を一つでも盛り込む事に反発する理由なんて一つもないと思うんだけどな
俺の頭がおかしいのかそうじゃないのかよく分かんなくなってくるじゃん
462デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 16:51:42.20ID:XxWurSAu0 誤った代入ならローカル変数にだってあり得るが
こういうロジックミスはそれを使っても防ぎようがない
丹念にチェックし潰していくしかない
こういうロジックミスはそれを使っても防ぎようがない
丹念にチェックし潰していくしかない
463デフォルトの名無しさん (ワッチョイ 0a7f-EgBt)
2018/08/13(月) 16:55:21.28ID:B8BpXPvN0 あと宗教だの信仰だの言ってるけど、頑として自分の主張を曲げずにずっと言い続けてるってのは、結局のところそれは「別の宗教(信仰)」なのでは……?
464デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 17:01:08.48ID:XxWurSAu0 経験により積み重ねてきた手法を変えるというのは
それだけの説得力が必要なんだと思います
だから布教は大変なんでしょう
それだけの説得力が必要なんだと思います
だから布教は大変なんでしょう
465デフォルトの名無しさん (ワッチョイ 0a7f-EgBt)
2018/08/13(月) 17:04:05.65ID:B8BpXPvN0 >>464
俺はあなたの事を話してるんですが
俺はあなたの事を話してるんですが
466デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 17:13:09.68ID:XxWurSAu0 堅牢と言っているけども、何から堅牢かと言えば、自分自身が書く記述の誤りから堅牢になると言うこと
プログラムから見たら、グローバル変数だけをガードしてからと言ってバグフリーになるわけじゃない
また、Webサイトとして堅牢をうたうなら、それは外部からの攻撃に対しての話だし
今回提案された関数を使おうと、その点については無力のまま
この辺が改善されたら導入を考えようと思うんですが、如何ですか?
プログラムから見たら、グローバル変数だけをガードしてからと言ってバグフリーになるわけじゃない
また、Webサイトとして堅牢をうたうなら、それは外部からの攻撃に対しての話だし
今回提案された関数を使おうと、その点については無力のまま
この辺が改善されたら導入を考えようと思うんですが、如何ですか?
467デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 17:26:15.20ID:rjxAd60g0468デフォルトの名無しさん (ワッチョイ de81-2km2)
2018/08/13(月) 17:47:45.32ID:XxWurSAu0469デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 17:54:32.31ID:rjxAd60g0470デフォルトの名無しさん (オイコラミネオ MMdf-++Qy)
2018/08/13(月) 18:22:02.91ID:6I003ZzcM >>461
注意すれば足りるっつうか、$_POST に値を代入しないようにコードを書くのがそんなに大変なの?
わざわざそういう設計をしなけりゃそんなことしないし、そうしてるなら必要だからしたんだろうから仕様に沿って使えばいいんじゃね?
ということなんじゃないの。
いや別に filter_input を使うなと言ってるのではないし使えばいいじゃんと思ってるが、$_POST をそこまで忌み嫌うのが意味分からんてことだよ。
それで疎にするとか持ち出してきて、$_POST の代わりに filter_input 使えば疎になるって何のこっちゃ?って感じだろう?
堅牢になるぜならまだ分かるが、疎って?ってさ。
疎にするって話ならと >>415 みたいな手法を持ち出してみたらそれには同意してもらえてるっぽいが、filter_input 使えば疎って話ではないだろってところは通じてないっぽいんだよな。
なんつうか、意識高い系なんだろうなって感じ。
注意すれば足りるっつうか、$_POST に値を代入しないようにコードを書くのがそんなに大変なの?
わざわざそういう設計をしなけりゃそんなことしないし、そうしてるなら必要だからしたんだろうから仕様に沿って使えばいいんじゃね?
ということなんじゃないの。
いや別に filter_input を使うなと言ってるのではないし使えばいいじゃんと思ってるが、$_POST をそこまで忌み嫌うのが意味分からんてことだよ。
それで疎にするとか持ち出してきて、$_POST の代わりに filter_input 使えば疎になるって何のこっちゃ?って感じだろう?
堅牢になるぜならまだ分かるが、疎って?ってさ。
疎にするって話ならと >>415 みたいな手法を持ち出してみたらそれには同意してもらえてるっぽいが、filter_input 使えば疎って話ではないだろってところは通じてないっぽいんだよな。
なんつうか、意識高い系なんだろうなって感じ。
471デフォルトの名無しさん (ワッチョイ 6bcc-2km2)
2018/08/13(月) 18:45:11.35ID:V6shauct0 チームで開発したことないんだろ、きっと
それか、一人で十分な開発規模
あるいはチームでテレパシーw
それか、一人で十分な開発規模
あるいはチームでテレパシーw
472デフォルトの名無しさん (ワッチョイ 1b5d-2km2)
2018/08/13(月) 18:55:06.81ID:LXDaPxOa0 スーパーグローバルとfilter_inputに関してはPHP特有だし多少議論があるのは理解する
それでもfilter_inputの方がベターだと思うが
しかしグローバル変数使うなが納得出来ないというのはお話にならない
それでもfilter_inputの方がベターだと思うが
しかしグローバル変数使うなが納得出来ないというのはお話にならない
473デフォルトの名無しさん (ワッチョイ 6376-IYYR)
2018/08/13(月) 19:31:08.20ID:Mozi/syi0 正直、ここしばらくフレームワークの世話になってたから
$_POSTもfilter_inputも明示的につかったことない
でも、ざっと見た限りではよっぽどトリッキーなことしない限り
filter_inputをつかわない理由はないな
$_POSTもfilter_inputも明示的につかったことない
でも、ざっと見た限りではよっぽどトリッキーなことしない限り
filter_inputをつかわない理由はないな
474デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/13(月) 19:59:59.97ID:rjxAd60g0 >>470
密とか疎に対して「結合」って使ったから良くなかったかもね。
結合というより、関係性かなぁ。
$_POST が変更可能な変数であり、かつどこでも使用できるため、使用箇所の関係性が密になってしまう。
値が変更になれば、当然後続が影響を受けるから密ね。
だから、http から直接値を引っ張ってくる filter_input 使用することで、どこで使用しても一律な値を保証できるよう関係性を疎に保とうよ。
って書きたかったんだわ。
結局、$_POST 使用するたびに、プロジェクト全体を grep するとかアホらしいので、新規にコード書くならまず $_POST は使わん。って程度の決意。
密とか疎に対して「結合」って使ったから良くなかったかもね。
結合というより、関係性かなぁ。
$_POST が変更可能な変数であり、かつどこでも使用できるため、使用箇所の関係性が密になってしまう。
値が変更になれば、当然後続が影響を受けるから密ね。
だから、http から直接値を引っ張ってくる filter_input 使用することで、どこで使用しても一律な値を保証できるよう関係性を疎に保とうよ。
って書きたかったんだわ。
結局、$_POST 使用するたびに、プロジェクト全体を grep するとかアホらしいので、新規にコード書くならまず $_POST は使わん。って程度の決意。
475デフォルトの名無しさん (オイコラミネオ MMdf-++Qy)
2018/08/14(火) 01:08:32.39ID:WPb6+388M ところで $_FILES や $_SESSION へのアクセスはどうやってるの?
476デフォルトの名無しさん (ワッチョイ b3b3-Qb5F)
2018/08/14(火) 07:14:07.57ID:fH8thKa+0 >>475
回避不能だねw
基本はフレームワークに閉じ込めて、自分では $_FILES とか $_SESSION は書かない。
で、どうしても自分で書かなきゃいけないときは、念のため grep するぐらいしか対応できない。
回避不能だねw
基本はフレームワークに閉じ込めて、自分では $_FILES とか $_SESSION は書かない。
で、どうしても自分で書かなきゃいけないときは、念のため grep するぐらいしか対応できない。
477デフォルトの名無しさん (ワッチョイ ffe9-hdxI)
2018/08/14(火) 13:40:34.53ID:Ph65nOXq0 追いついた。
単にグローバル変数を使わないようなコードを書きましょうねって話よね。
大昔BASICからCに移行したときに見た話かな。
単にグローバル変数を使わないようなコードを書きましょうねって話よね。
大昔BASICからCに移行したときに見た話かな。
478デフォルトの名無しさん (ワッチョイ bbe9-hE18)
2018/08/16(木) 11:14:39.29ID:wpZ5Mbd20 >>477
同じくくだらない話に今追いついたが
たったそれだけの話だよな
グローバル変数なんか感覚的・直感的に気持ち悪いと感じないようじゃ
いちいち細かい理由を説明しないと理解できない時点で
プログラマとして失格だと思う
趣味でやってて自分1人さえ理解できればよくて
メンテも一生自分1人でやるのなら好きにやりゃいいけどさ
同じくくだらない話に今追いついたが
たったそれだけの話だよな
グローバル変数なんか感覚的・直感的に気持ち悪いと感じないようじゃ
いちいち細かい理由を説明しないと理解できない時点で
プログラマとして失格だと思う
趣味でやってて自分1人さえ理解できればよくて
メンテも一生自分1人でやるのなら好きにやりゃいいけどさ
479デフォルトの名無しさん (オイコラミネオ MM0f-PVJR)
2018/08/16(木) 11:54:48.48ID:Z+yvFL8qM >>477,478
追い付いたというからにはそれなりに読んだんだろうに、それで単にグローバル変数を使う話に見えるならプログラマー失格だと思うよ
追い付いたというからにはそれなりに読んだんだろうに、それで単にグローバル変数を使う話に見えるならプログラマー失格だと思うよ
480デフォルトの名無しさん (ササクッテロレ Sp8f-qI6C)
2018/08/16(木) 12:07:23.80ID:Fm6q1Ws8p >>479
では解説どうぞ
では解説どうぞ
481デフォルトの名無しさん (ワッチョイ 0fe8-upR2)
2018/08/16(木) 12:21:40.67ID:w2Vsd24V0 >>479様がマウントを取りたいがために風呂敷を拡げ始めたと聞いてバックネット裏の席を確保しました
482デフォルトの名無しさん (オイコラミネオ MM0f-PVJR)
2018/08/16(木) 12:23:26.84ID:Z+yvFL8qM >>480
PHPの仕様として存在しPHP自体が用意してる参照が非推薦ともされていない情報に対する参照がグローバル(スーパーグローバル)というだけでなぜいけないのか?という話だよ。
自分で勝手グローバルを作ろうって話じゃない。
PHPの仕様として存在しPHP自体が用意してる参照が非推薦ともされていない情報に対する参照がグローバル(スーパーグローバル)というだけでなぜいけないのか?という話だよ。
自分で勝手グローバルを作ろうって話じゃない。
483デフォルトの名無しさん (ササクッテロレ Sp8f-qI6C)
2018/08/16(木) 12:35:32.96ID:Fm6q1Ws8p484デフォルトの名無しさん (アウアウカー Sa0f-Rbm/)
2018/08/16(木) 12:43:49.69ID:NlvTq02Da485デフォルトの名無しさん (ワッチョイ 0fe8-upR2)
2018/08/16(木) 12:43:50.15ID:w2Vsd24V0 人の話を聞かないまま退散したあのかたが蒸し返しで再登板しただけでした
解散
解散
486デフォルトの名無しさん (スププ Sdbf-V6hB)
2018/08/16(木) 13:02:04.93ID:qFV5giwld グローバル変数云々の話以外だと例えば
?foo[]=1&foo[][]=2&foo[][][]=3
の時の
htmlspecialchars($_GET['foo']);
はエラーになるわな
なのにis_set($_GET['foo']) や array_key_exists('foo', $_GET) 程度で満足してるウンココードだらけで
そういうウンココードが書籍にまで書かれててウンコが量産されてるのもphpの問題だな
htmlspecialchars(filter_input(INPUT_GET, 'foo'));
ならエラーにはならないが、現実的にはfilter_input()も直接は使わないわけで
フレームワークを通さずに書きたいなら$_GET['foo']よりはベターってだけ
フレームワークを使わない便利な関数を使わないって人ってのは
大した頭もないくせして車輪の再発明が大好きなんだろうとお察しする
絶対に一緒に仕事をしたくないタイプ
?foo[]=1&foo[][]=2&foo[][][]=3
の時の
htmlspecialchars($_GET['foo']);
はエラーになるわな
なのにis_set($_GET['foo']) や array_key_exists('foo', $_GET) 程度で満足してるウンココードだらけで
そういうウンココードが書籍にまで書かれててウンコが量産されてるのもphpの問題だな
htmlspecialchars(filter_input(INPUT_GET, 'foo'));
ならエラーにはならないが、現実的にはfilter_input()も直接は使わないわけで
フレームワークを通さずに書きたいなら$_GET['foo']よりはベターってだけ
フレームワークを使わない便利な関数を使わないって人ってのは
大した頭もないくせして車輪の再発明が大好きなんだろうとお察しする
絶対に一緒に仕事をしたくないタイプ
487デフォルトの名無しさん (ワッチョイ bbe9-hE18)
2018/08/16(木) 13:14:38.66ID:wpZ5Mbd20 register_globalsやmagic_quotes_gpcみたいなPHPの黒歴史や
伝説の名言「例えば、PHPを避ける」なんかを知らない人も
増えてるんだろうなと思う
今から10数年前のPHP4を勉強してた頃の自分なら
$_GETや$_POSTを直接使って何が悪いの?と言ってた筈
プログラミングの世界は1年前の自分ですら赤の他人だし
いつか理解できる日が来るといいね
理解できなくても食うに困らない稼ぎがあるなら
それはそれでいいんじゃない?(周りの人は迷惑だけどw)
伝説の名言「例えば、PHPを避ける」なんかを知らない人も
増えてるんだろうなと思う
今から10数年前のPHP4を勉強してた頃の自分なら
$_GETや$_POSTを直接使って何が悪いの?と言ってた筈
プログラミングの世界は1年前の自分ですら赤の他人だし
いつか理解できる日が来るといいね
理解できなくても食うに困らない稼ぎがあるなら
それはそれでいいんじゃない?(周りの人は迷惑だけどw)
488デフォルトの名無しさん (アウアウカー Sa0f-Rbm/)
2018/08/16(木) 13:24:30.70ID:NlvTq02Da PHPの開発方針がめちゃくちゃ保守的だってことも知らないのだろう
https://externals.io/message/100087
php-internalsでも$_POSTや$_GETをimmutableにしないのはあくまで後方互換性が崩れるからだとしか言われてない($_ENVや$_SERVERはまた別だが)
スーパーグローバルの(スーパーグローバルの書き換えとは独立した)immutable版があればいいのにと思う
https://externals.io/message/100087
php-internalsでも$_POSTや$_GETをimmutableにしないのはあくまで後方互換性が崩れるからだとしか言われてない($_ENVや$_SERVERはまた別だが)
スーパーグローバルの(スーパーグローバルの書き換えとは独立した)immutable版があればいいのにと思う
489デフォルトの名無しさん (スププ Sdbf-V6hB)
2018/08/16(木) 14:08:54.52ID:qFV5giwld PHPしか書いた事ないやつだとimmutableという概念を知らない可能性もありそう
そもそもさ
?foo=bar
$_GET['foo'] = 'hage';
var_dump($_GET['foo']); // string(4) "hage"
var_dump(filter_input(INPUT_GET, 'foo')); // string(3) "bar"
↑これ理解できてるんだろうか?
あと素朴な疑問だが
$_GETや$_POSTを直接使ってるやつってユニットテストはどうやってんの?
ブラウザで表示させて実際に値を入力してテストとかやってそうw
そもそもさ
?foo=bar
$_GET['foo'] = 'hage';
var_dump($_GET['foo']); // string(4) "hage"
var_dump(filter_input(INPUT_GET, 'foo')); // string(3) "bar"
↑これ理解できてるんだろうか?
あと素朴な疑問だが
$_GETや$_POSTを直接使ってるやつってユニットテストはどうやってんの?
ブラウザで表示させて実際に値を入力してテストとかやってそうw
490デフォルトの名無しさん (ワッチョイ bbe9-hE18)
2018/08/16(木) 14:20:27.81ID:wpZ5Mbd20491デフォルトの名無しさん (オイコラミネオ MM0f-PVJR)
2018/08/16(木) 14:26:51.20ID:Z+yvFL8qM492デフォルトの名無しさん (ワッチョイ fbe9-dg8D)
2018/08/16(木) 15:05:20.08ID:47Wf5WpA0 永遠に噛み合わないんだな
493デフォルトの名無しさん (ワッチョイ ebb3-hE18)
2018/08/16(木) 15:34:33.46ID:IVwSm3Wy0 >>491
> 一番に検討しなくちゃいけないのは、外とのインタフェースをあちらこちらに書かず特定の機構に閉じ込めるということだろ。
このことはだれも否定していない。
> 閉じ込めた中で $_GET と filter_input のどちらを使うかなんてことは本質じゃなく、その時の都合でベストチョイスすればいいだけのこと。
こっちを、スーパーグローバル変数を使用するのはやめようぜ。って言ってる
自前実装だろうが、PHPの仕様だろうが、グローバルな変数ってだけで悪w
> グローバルはいけないんだなんて言ってみても、結局 >>475-476 でしょ。
だから、immutable 版がほしいね。って流れ
> 一番に検討しなくちゃいけないのは、外とのインタフェースをあちらこちらに書かず特定の機構に閉じ込めるということだろ。
このことはだれも否定していない。
> 閉じ込めた中で $_GET と filter_input のどちらを使うかなんてことは本質じゃなく、その時の都合でベストチョイスすればいいだけのこと。
こっちを、スーパーグローバル変数を使用するのはやめようぜ。って言ってる
自前実装だろうが、PHPの仕様だろうが、グローバルな変数ってだけで悪w
> グローバルはいけないんだなんて言ってみても、結局 >>475-476 でしょ。
だから、immutable 版がほしいね。って流れ
494デフォルトの名無しさん (ワッチョイ bbe9-hE18)
2018/08/16(木) 16:04:23.82ID:wpZ5Mbd20495デフォルトの名無しさん (オイコラミネオ MM0f-PVJR)
2018/08/16(木) 16:49:55.61ID:Z+yvFL8qM496デフォルトの名無しさん (ワッチョイ bbe9-hE18)
2018/08/16(木) 17:14:51.55ID:wpZ5Mbd20 来週の木曜0:00AMまではワッチョイ末尾4桁「hE18」はJaneStyle4.00をデフォの設定で使ってる人
すなわちUserAgentを現してる(毎週木曜リセット)
じゃぁどこ見て判断してるのかといえば「b3」で
大雑把に回線が同じHostなんだろうって事を確認して
あとは文体で判断してる(リセットされない)
プログラム板の人なんだからそれぐらいの法則性は自力で見つけて欲しいものだが…
すなわちUserAgentを現してる(毎週木曜リセット)
じゃぁどこ見て判断してるのかといえば「b3」で
大雑把に回線が同じHostなんだろうって事を確認して
あとは文体で判断してる(リセットされない)
プログラム板の人なんだからそれぐらいの法則性は自力で見つけて欲しいものだが…
497デフォルトの名無しさん (ワッチョイ bbe9-hE18)
2018/08/16(木) 17:19:27.02ID:wpZ5Mbd20 ちなみにこんなサービスもある
ttps://afi.click/browser/list/
プログラム板の住人なら
どうやればこのサービスを実現できるか
DB設計から考えてみたらいいんじゃないかな
ttps://afi.click/browser/list/
プログラム板の住人なら
どうやればこのサービスを実現できるか
DB設計から考えてみたらいいんじゃないかな
498デフォルトの名無しさん (オイコラミネオ MM0f-PVJR)
2018/08/16(木) 17:33:27.71ID:Z+yvFL8qM >>496
なるほどありがとう
なるほどありがとう
499デフォルトの名無しさん (ワッチョイ 0fe8-upR2)
2018/08/16(木) 19:24:56.49ID:w2Vsd24V0 他人に根拠希薄にプログラマー失格とか罵っときながらのオチがこれ
500デフォルトの名無しさん (スププ Sdbf-V6hB)
2018/08/16(木) 19:44:09.16ID:qFV5giwld 11レスもしながら出だしの>442の時点で間違ってるのは
オチとは言わず「ボケ」と言うんじゃないかと
たくさんのツッコミが貰えて本望だろう
オチとは言わず「ボケ」と言うんじゃないかと
たくさんのツッコミが貰えて本望だろう
501デフォルトの名無しさん (ワッチョイ ebb3-hE18)
2018/08/16(木) 20:11:17.99ID:IVwSm3Wy0 この話題の最初に書いたとおり、filter_input の使用に関して、スーパーグローバル回避のためって理由がググっても中々ヒットしない。
ある程度コードかけるようになると自明だし、フレームワーク使うようになると filter_input すら使う機会が少なくなるからだと思うけど、量産型初心者が全部 $_POST で育ってくるのでめんどいw
みんなどんどん素敵記事書いて、初心者に広報してくれんかねぇ。
ある程度コードかけるようになると自明だし、フレームワーク使うようになると filter_input すら使う機会が少なくなるからだと思うけど、量産型初心者が全部 $_POST で育ってくるのでめんどいw
みんなどんどん素敵記事書いて、初心者に広報してくれんかねぇ。
502デフォルトの名無しさん (ワッチョイ 6b95-8iSw)
2018/08/16(木) 20:24:00.00ID:S/g/TLeK0 グローバル変数を使わない方がいい理由が分からないって人ってやっばりPHPしか書けない人なのかな?
他の言語では常識な事だけに何が理解できないのかが理解できない
他の言語では常識な事だけに何が理解できないのかが理解できない
503デフォルトの名無しさん (スププ Sdbf-V6hB)
2018/08/16(木) 20:26:09.89ID:qFV5giwld ✕PHPしか書けない
◯PHPすら書けない
PHPerが馬鹿にされる理由がよく分かるよな
◯PHPすら書けない
PHPerが馬鹿にされる理由がよく分かるよな
504デフォルトの名無しさん (ワッチョイ ef17-xQfD)
2018/08/16(木) 20:51:12.43ID:0Ewq9KDZ0 メジャーなフレームワークのコードを読んでみたりはしないのだろうか
全部を確認したわけではないけど流石に$_GET $_POSTを直接ごにょごにょやってるFWは無いと思う
全部を確認したわけではないけど流石に$_GET $_POSTを直接ごにょごにょやってるFWは無いと思う
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- トランプ、G7に代わるcore 5を発表 [805596214]
- お前らがやってるバイト教えて
- 上司がアンパンマン体操のリズムで「アンポンタンは君か〜?」って歌うんやが
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
- 木曜日のんなっしょい❗(・o・🍬)仕放題スレ🏡
