【PHP】下らねぇ質問はここに書き込みやがれ 14

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f97-W3aP)
垢版 |
2022/09/20(火) 16:46:23.39ID:Sb2Kpzh+0
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
★スレ立て時 ↑ が3行以上になるようコピペ

PHPに関する質問スレです

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 13
https://mevius.5ch.net/test/read.cgi/tech/1631147923/

次スレは>>980以降
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2023/10/17(火) 01:21:42.72ID:R59hQw8C0
ただまあそれ以前にPHPはオブジェクト指向には向いてない。
継承の旨味を引き出すには抽象クラスのメソッドで記述する必要があるのだが、
Web周りはオブジェクト指向前提で整備されてないのでだいたいこれが不可能だ。
ここら辺が最初から全てオブジェクト指向前提で設計されてる.NETとかとは違う。
次にPHPの場合は状態保存が出来ない。
オブジェクト指向は各インスタンスに「状態を分散して配置する」ことになるため、
これらを最終的にDBに書き戻すには余分なコードが必要となってしまう。
ここら辺がサーバーが永続的なJS/Go/Rustとは違ってくる。
だからPHPの場合はDBから読み出してこねくり回して吐き出すだけ、
何かあったらDBを更新するだけ、という非常に単純な構造にしかならないわけだが、
実際はこの方がいいので、この点はPHPのショボさが功を奏してる。
Javaの開発工数とか、同様のWebサービスと比べて10倍以上はかかってるだろ。
あれはそもそもオブジェクト指向の「状態を分散して配置する」事自体が間違いな事に気づいてないんだよ。
Javaの連中はJavaこそが大正義であって他はまるで知らない浦島太郎だからあんな事になる。
2023/10/17(火) 01:23:34.74ID:R59hQw8C0
> ・ある程度コードが書けるようになったらlaravelを検討するのか
> ・まったくの初学者がlaravelから始めてブラックボックスになっている所は気にするな、というなら
どっちもありだと思うが、そもそも前提が間違ってる。
フレームワークはステップアップではなく、単純に「楽をする為」に導入するものだ。
よく言われてる、「フレームワークを使わなくても、
フレームワーク内に存在するコードとほぼ同じ物を書くハメになるだけだから、さっさと使え」というのは当たってる。
だからフレームワークのドキュメントをさらっと見て、
自分が使いたい機能が有れば使えばいいし、無ければ使わなければいいだけ。
初心者だから止めとけとか、そういう類の話ではない。
実際、C#やJavaではフレームワークを使わない選択肢はなく、
ハロワで既にフレームワークを使ってるはずだが、特に問題にもなってない。
そして使う場合は基本的にブラックボックス扱いだ。
内部まで確認してたらキリがないので、問題なければ内部コードなんて確認しない。
それは気持ち悪い、というのなら、フレームワーク使わずに自分で組め、でしかない。
(自分で組むよりはフレームワークを内部コード精査後にホワイトボックスとして使うなり、
フレームワーク内のコードを基本パクって改変してオレオレ仕様にしたりする方がバグはないだろうが、
一般的にはこの方式の所はあまり無いのではないかと。
フレームワークのバグを心配するなら、アナログに「枯れた機能だけを使う」で対処した方がいい)
2023/10/17(火) 01:24:30.33ID:R59hQw8C0
この辺はPHP界隈でたまにいる「DBでなく、ファイルでやりたいんですけど…」が分かりやすいだろう。
この場合本人は既にプログラミングはそこそこ出来て、
欲しい物は今現在の自分で十分実装可能だと分かってる。
そしてDBの知識が十分でなく、勉強するのが面倒か、慣れてない物を使うのは危険だと判断してる。
だから自前でファイルから変数を切り出すルーチンを書くわけだ。その方が自信が持てるから。
ただ当たり前だが、同様のコードはDB内には既に存在してて、そいつが書くよりも100倍品質もいい。
そして何だかんだで仕様は肥大化し、
その都度そいつのオレオレファイルDBモドキにもコードが書き加えられていくわけだが、
最終的に、「で?お前はこれに延べ何時間費やしたわけ?それで出来上がったのがこのウンコなDBモドキ?
なら最初からSQL勉強してDB使った方が堅牢で拡張性もあって速度も速いし、工数もかからなかったよね」にしかならない。
(そもそもDB内のコードなんてPHPerは誰も読んでないしブラックボックスだが気にしてないだろ)

だから考えるべきは「今」ではなく「最終状態」であって、
仮にお前の思惑通り事が運んだとして、最終的にどこまでやるつもりなのか?なんだよ。
最終的にも数行読めれば十分ならファイルで構わないが、
最終的にはDBが必要になるのなら、最初からDBで組んだ方がいい。
同様に、最終的にフレームワークが必要となるなら、最初からフレームワークを使うべき。
よく言われてるのは「セッション管理を自前でやるとだいたいバグるからフレームワーク使え」で、
逆に言えばセッション管理を厳密にやる必要がなく、特に欲しい機能もなければ、フレームワークを使う必要がない。
繰り返すがこれは「今」ではない。
つまり、「『今は』初心者だから」「『今は』フレームワークに慣れてないから」
「『今は』DBを知らないから」「『今は』クラスの理解が足りてないから」ではなく、
今、知識/技術が有ろうが無かろうが、最終的に必要なら使って慣れるしかないんだよ。
2023/10/17(火) 01:26:52.67ID:R59hQw8C0
多分721も751も以下分類では中級者になる。

初心者:欲しい機能の実装にも手こずる。(プログラミング経験0〜3000時間)
中級者:欲しい機能は一通り実装出来る。(プログラミング経験3000〜5000時間≒社畜歴2年)
上級者:仕様から複数の実装を検討し、初手から最適解を目指せる。(プログラミング経験5000時間以上)

状況について詳しく言うなら、
・動けばいいのなら何であれ実装出来るから今現在の技術/知識で何ら困ってない。
・果たして自分のコードが美しいのか汚いのかはよく分からんが、
 少なくとも自分のコードは読めるので取り立てて困ってない。
・世の中には他の方法もあるらしいが、勉強する価値があるのかもよく分からん。まあ一応読んではみたが…。
てな所だろう。これは順当な上達過程で、誰しも通る道だ。

そこで道は分かれるわけだが、90年代の場合、

Java(1995):C++が導入したクラススゲー。全部クラスで、ポインタ廃止したら完璧じゃね?
Ruby(1995):C++が導入したクラススゲー。全部オブジェクトでいけるんじゃね?
C#(2000):C++が導入したクラススゲー。でもC++はちょっと…
C++(1983):馬鹿はJava、軟派はC#使ってろ。漢は黙ってC++。
C(1972):いやCで特に不満無いし…。
PHP(1995):クラス?そんなもの無くても出来るでしょ。

同時期以降の別言語が全てクラスを採用する中、ラスマス・ラードフは無視しやがったのがPHPの不幸なところだ。
PHPがArray::xxxやString::yyyとなってれば、「クラスがよく分からない」なんて事になりようもなかった。
が、まあ、これを言っても始まらない。上達の為の次の順当な方策は、JSをやる事だ。
https://プログラマが知るべき97のこと.com/エッセイ/プログラミング言語は複数習得すべき/
2023/10/17(火) 01:28:15.91ID:R59hQw8C0
フルスタック(キリッ、の通り、クライアントサイドで何がどこまで出来るかを把握しておく事は全体最適化には必須。
達人である必要はないが、どれくらい手間なのか分からないのは不味い。
クラスは難しいものではなく、使ってないから分からないだけ。
強制的に使うのなら標準がクラスで構成されてる言語がいい。(今のメジャー言語は全部該当するが)
PHPの次はJSだろうよ。
なおPHPの場合は節操なく取り込んでるので結果的に「全部入り」に近く、
PHPだけで学ぶのも理論的には可能だが、そもそも知らない奴が正しい方向性を見切るのは無理なので、現実的に無理だ。
PHPでは今まで通りのコードを書きつつ、JSで色々試し、
クラスに慣れたらPHPでもクラスを使って書いていく、というのが多分妥当な道筋。
2023/10/17(火) 11:52:24.20ID:nEN1t9hTd
Laravelでコーディングする時、コーディングする順序は
1、SQL等のDB周り
2、バックエンド動かすコントローラー(api.phpの方)
3、フロント用のコントローラー(web.phpの方)
4、view

って順序でイメージあってる?
2023/10/17(火) 16:33:35.10ID:wBPhMFC20
好きなとこからやれ
決まってるところからやれ
仕事なら会社の言う通りにしろ
773デフォルトの名無しさん (ワッチョイ fabd-Tb+e)
垢版 |
2023/10/21(土) 01:03:11.56ID:dh9vzKli0
PHPが遅いってのは分かるが、絶望的に遅いか?って言われたらそうは思わんな
スーパーに買い物に行くのにスポーツカーは必要ないし、むしろ使いにくい
小回りのきく軽自動車で十分って状況も多々ある
2023/10/21(土) 09:18:37.85ID:yXW/Zb3m0
既に運用中のサイトにおいてPHP7系から8に移行する際、皆さんどんな苦労されました?
自分は前任者が書いたサイトを引き継ぎしたんだけど、内容はPHP5時代に書かれたコードを扱わなきゃいけなくて…
レンタルサーバーが強制的にPHP8に移行するにあたって500ファイルほど目視チェック、動かない原因になる箇所を直していったのが大変だった
countとimplodeとかその辺りの関数がFatal error出すのでシコシコ直していったよ
2023/10/22(日) 15:40:10.82ID:lOEqj3QG0
ゼロから作り直したほうが早い
2023/10/22(日) 18:07:33.50ID:xV2fKCwr0
>>774
移行しなかったよ
Dockerん中に古いまんま閉じ込めた
もう未来永劫そのまんまよ
2023/10/27(金) 15:17:52.24ID:O5trZ+em0
なるほど、その手があったか

エラー無視つけてたわ
2023/11/19(日) 11:56:48.15ID:vcL8dlfS0
>>774
前任者どころか、自分で書いたコードですら修正するの大変だわ
よほどのセキュリティホールでも無い限り、古いまま運用してもいいと思うよ
Javaで古いバージョンが乗っ取りとかってあったけど、
PHPはそういうのないし、ページ毎のセキュリティ対策してたら大丈夫でしょ
(違うなら誰か事例を出して指摘してください
779デフォルトの名無しさん (ワッチョイ 72e1-N5Jg)
垢版 |
2023/11/22(水) 14:01:49.19ID:gEe16+Fw0
初心者なので初歩的な質問になりますm(_ _)m

phpのフレームワークlaravelについての質問なんですが

Illminate/Foundation/Application.phpのApplicationクラスのbootstrapWithというメソッドの中に$this['events'] -> dispatch( 〜
という記述があるのですがこの$thisはApplicationクラスのインスタンスだと思うのですが
なぜ$this['events']のように$thisの後にブラケットが続いてるのでしょうか?

dd($this)とやって調べて見ましたがやはり配列ではなくApplicationのインスタンスで
dd($this['events'])で調べたらDispatcherというオブジェクトでした
なぜブラケット構文でインスタンスにアクセスできるのか分かりません
この$thisはなんですか?
2023/11/23(木) 00:07:02.72ID:RFVqy5fX0
>>779
PHPは連想配列っぽくインスタンスにアクセスできるんだお

初心者らしい初歩的な質問でしたね
2023/11/23(木) 00:43:06.46ID:AzseZZHe0
最近はそれくらいの難度なら
GPTさんに質問する人が増えたから
あまり書き込みにこないんだろうな
782デフォルトの名無しさん (ワッチョイ 72a2-N5Jg)
垢版 |
2023/11/23(木) 00:46:28.93ID:op2UpQwL0
>>780
オブジェクトを作って試しましたがオブジェクトは配列として使用できないとエラーが出ます

どのようにそれを可能にしているのかを教えていただけませんか?

初歩的な質問で申し訳ありませんがググっても出てこないので
2023/11/23(木) 01:01:05.45ID:pAGXWPD10
オブジェクトに対して配列風にアクセスするといえばこれか
https://www.php.net/manual/ja/class.arrayaccess.php
784デフォルトの名無しさん (ワッチョイ 72a2-N5Jg)
垢版 |
2023/11/23(木) 07:25:04.23ID:op2UpQwL0
>>783
スッキリしました。ありがとうございます。
継承元のcontainerクラスで実装されてるのを確認できました。
785デフォルトの名無しさん (ワッチョイ bf5f-HI/Z)
垢版 |
2023/12/09(土) 23:46:53.06ID:fGdJSgyw0
学習コストが低めのフレームワークでおすすめある?
Laravel,CakePHP以外で
2023/12/10(日) 10:42:24.34ID:PVGCDu/Y0
オレオレフレームワーク
2023/12/14(木) 16:59:59.82ID:t1zoVVGt0
WordPressってPHP7.4以上が推奨環境なんだけど、
PHP8.0までセキュリティサポートが切れてる
なんで7.4以上なんだろ?
2023/12/14(木) 21:46:47.06ID:SDKVvk710
プラグインの対応を考えると7.4まで戻さないといけないんじゃないかな?

8.1まではあまり影響なかったけど8.2からひどかった記憶、最後に仕事して一年以上経ってるから状況変わってるだろうけど
2023/12/15(金) 15:26:36.63ID:UGjdTC/zd
このフレームワークはプログラム技術板的にPHPなの?Goなの?

 米Laravelは、Go言語で書かれたPHPアプリケーションサーバであるFrankenPHPの最新バージョンとなる「FrankenPHP 1.0」を、12月11日(現地時間)にリリースした。

 FrankenPHP 1.0には、Symphony、Laravel、WordPressなどのネイティブサポートが含まれるほか、Caddyを搭載したプロダクショングレードのPHPサーバであり、PHPアプリのスタンドアロンで実行可能なバイナリとしてのパッケージ化が可能となっている。

 さらに、PHP-FPMとNgnixを個別に実行する必要がなく、1つのサービスのみでPHPサーバを提供できるようになるとともに、PHP 8.2以降のほとんどのPHP機能拡張、およびすべてのCaddyモジュールと互換性がある。

 ほかにも、アプリケーション起動してメモリに保持するワーカーモード、JavaScriptイベントとしてWebブラウザへ送信されるリアルタイムイベント、ZstandardおよびGzip圧縮、構造化されたログ、Prometheusメトリクスを使用したCaddyの監視、HTTPS・HTTP/2・HTTP/3のネイティブサポート、HTTPS証明書の自動生成や更新、ダウンタイムなしでのアプリのデプロイといった、充実した機能を搭載している。
2023/12/15(金) 17:16:53.14ID:Or7pgbin0
フレームワークじゃなくてアプリケーションサーバ
Goで書いてる内部実装の話じゃなければPHP
2023/12/17(日) 12:50:33.31ID:Ejq9svn00
やっぱRubyとは違うな
2023/12/18(月) 10:08:31.91ID:/4mKYZLK0
導入部がどんどんコテコテになっていくな
もう新規は洋梨か
793デフォルトの名無しさん (ワッチョイ 338a-pDLy)
垢版 |
2023/12/28(木) 04:23:04.89ID:NBXduxv20
フラグ管理の効率的な方法を教えて下さい。
作成中の社内向け事務アプリなんですが、判定要素が多くなりすぎて毎回読む度に悩みます。

ユーザーに割り当てられた権限や日時による分岐がめっちゃ多いです。
例えば、シンプルなやつだと下記みたいな感じです。
※権限には、種類とランクがあります。

・権限Aを持っているユーザーB〜Eが、日時F〜Gの間に許可した時だけ、
 ユーザーH・Iが日時J〜Kの間だけ権限L・Mを付与されて、
 その権限を行使して処理NまたはOを合計2回行った時に、その権限を付与したユーザー(B〜E)の権限PをQ〜Rの期間降格する。
2023/12/28(木) 04:23:58.49ID:NBXduxv20
すみません。
スレ立てるまでもない〜スレに行きます。
2024/01/10(水) 16:15:07.69ID:PTL/6ftd0
PHPのクラスを理解できていない 及び 運用・実装したことない
ユーザー定義関数なら扱えるレベル
CakephpやLaravel等のフレームワーク扱った事がない
実務は約5年

これで中途採用の場合、月収幾らくらいが妥当ですか🥹
2024/01/10(水) 16:53:39.33ID:dVV8o+q90
>>795
おぉ、同じぐらいだわ。
PHPはフレームワークとか知らないし、ユーザ関数ちょっと作れたりするぐらい
フォームメールとかマスタデータの登録編集ぐらいできて48万ぐらい貰ってるよ
2024/01/10(水) 20:04:25.62ID:zlHvcH430
コピペプログラムでも30はいけるからな
2024/01/10(水) 20:16:50.25ID:PTL/6ftd0
>796 >797
ええええー!マジですか😭…羨ましい!!
メールフォームはもちろん、サーバー関連もLinux一通りは触れて、データベースも GUIではなくてLinux上から操作出来るくらいのレベル感ではあるんだよね…

求職する時、文字だけだと自分のレベル感と会社が求めてるレベル感が分からなくていつも「クラス実装出来ないし概念理解してないけど大丈夫かな」とか「フレームワーク扱った事ないし…docker?何それ美味しいの?」って感じで二の足踏んでしまうんだよね
2024/01/12(金) 00:03:02.51ID:twL7njza0
フレームワークを扱えばいいし、dockerも勉強すればいいよ
そもそもフレームワークなしでやれてたんなら 何でも独学できるだろ
体系的な学習はとにもかくにもいじり倒した後からだ
2024/01/13(土) 14:07:59.64ID:3NziHgVl0
>>796
ちなみにSES?
2024/01/30(火) 04:09:24.38ID:geI1NBE8r
PHP初級取ろうと思ってますが、取りやすいのはどっちですか?

簡単な方を教えてください。
2024/01/30(火) 04:10:11.35ID:geI1NBE8r
PHP7 vs PHP8 の比較です
2024/01/30(火) 07:13:24.16ID:xc6jeStg0
上司から取ってこいと言われたのでなければ止めとけとしか
俺はPHPerではないけども
2024/01/31(水) 13:32:55.85ID:k++D0k1Yr
>>803
俺はデザイナーなので仕事上ではなくてもいい資格なんだが、取りやすそうで見栄えも良さそう資格って事でこれとろうかなと、webクリエイターの資格もってるがゴミ資格なんでゴミ資格でもないやつ取りたい。
2024/01/31(水) 14:50:49.67ID:GiaFK7PQ0
>804
少しでもプログラムを書く予定があるなら PHP8が良いよ
なぜかと言うと、7→8のアップデートで仕様が大幅に変わったから
7の細かいルールを覚えてしまってから8を触ったら「あれ?動かない…」となる可能性あるので
2024/01/31(水) 15:02:37.76ID:KXDkvASJ0
資格で語れる業界に行きたいんなら良いんじゃね

ITは基本、実績や書き物で語ることが多いと思うけどね
807デフォルトの名無しさん (ワッチョイ 8a8b-7cac)
垢版 |
2024/01/31(水) 15:18:08.36ID:Cu19VVGy0
逆にIT系の資格一杯持ってるやつのほうが実務で使えねー
2024/01/31(水) 17:23:01.53ID:grzeycve0
>>807
それよく言われるけど、実際のところは逆だったわ
決まりきったパズルである試験すら通らないやつが
まー実務で役に立つわけもないわな
809デフォルトの名無しさん (ワッチョイ 8a8b-7cac)
垢版 |
2024/01/31(水) 17:28:55.09ID:Cu19VVGy0
>>808
ちゃうちゃう、パズルしか解けんくなって石頭になるねん
自分でアルゴリズムを構築する手段を知らないから、パーツに頼るしかなくなる
2024/01/31(水) 17:29:39.20ID:jcvgDSDi0
銃が使えるからって戦場で役に立つとはならないぞ
2024/01/31(水) 17:30:21.84ID:OojRe9/Q0
ワイphp7とphp8の違いがわからずに簡単なコード書いてるし運転免許以外資格も持ってなくても35万給料もらえていることに感謝
2024/01/31(水) 17:31:41.54ID:3ULZXNFO0
属してる組織の技術レベルによるんだよね
上に行けば行くほどIT資格一杯持ってるやつのほうが使えねーってなる
下に行けば行くほどIT資格一杯持ってるやつのほうが使えるーってなる
2024/01/31(水) 17:40:24.48ID:GiaFK7PQ0
>811
SIerとSESどっちかな?
ついでに額面か手取りかも教えてくださいw
2024/01/31(水) 17:57:51.74ID:OojRe9/Q0
>>813
ごめん単語が何言ってるかわからない・・・
2024/01/31(水) 20:57:41.85ID:GiaFK7PQ0
>814
ざっくり言うと、
「自社開発していて自社出勤の正社員」=SIer
「委託や請負で客先常駐の社員。派遣では無いが実質派遣ぽい動きしてる」=SES
↑かなり乱暴な言い方だけどw

https://levtech.jp/partner/guide/article/detail/163/
2024/01/31(水) 23:14:06.95ID:j8r5fr530
>>815
突っ込みどころ満載すぎ

SIerは企業の種類でSESはサービスの種類
SIerの正社員がSESで客先常駐というのも普通にある

自社開発という言葉は自社向けのシステムを開発することを指していて
SIerが受託開発等で客先に常駐せず自社に出勤して開発することではない

請負の客先常駐はSESとは呼ばない
SESは基本的に準委任契約
2024/02/17(土) 15:04:47.81ID:RQ5FiJGb0
1、クライアント(C++で作ったアプリ)がLaravelで作ったAPIにアクセス
2、APIにアクセスされたらクライアントにファイルダウンロード
3、ダウンロード完了したらサーバー上のデータをbackupディレクトリに移動

ダウンロードの完了をLaravel側(PHP)が知る方法ってないよね?
2024/02/17(土) 15:53:22.94ID:+ZrZNmrG0
クライアントから完了通知を送る
完了通知がないとクライアントがすべて正常に受け取ったかどうかはわからない
サーバー側だけでわかるのはデータをネットワークI/Oのレスポンスとして全部書き出したかどうか
2024/02/17(土) 16:09:44.18ID:RQ5FiJGb0
ダウンロード用のスレッド(タスク)終わったらダウンロード完了通知するスレッド始めりゃ良いのか
ありがとう
820デフォルトの名無しさん (ワッチョイ 7271-XyAm)
垢版 |
2024/02/17(土) 19:05:09.44ID:4U2VM1d40
ファイル送る前に、MD5とかのファイルハッシュを送っておいて、受信完了レスポンスはクライアント側のMD5を送ってもらって、合致したら処理完了
とするとより安全だわな
2024/02/17(土) 20:18:28.04ID:HHGIbwMU0
今の通信品質ってそんなに悪いのか?
822デフォルトの名無しさん (ワッチョイ 7271-XyAm)
垢版 |
2024/02/17(土) 23:35:32.81ID:4U2VM1d40
あ、いやさ、バックアップディレクトリに移動ってあったから、何らかのトラブルがあった時に、多分手作業で戻さなくちゃならんくなるじゃん
保険と思って実装しておくのが安心かなとね、俺は低品質回線の国とかとのやりとりがあるから、敏感になってるのもあるけどね
だからかUDPよりTCPかつチェックサムなど入れてる
2024/02/19(月) 10:13:37.18ID:sL/5dHSK0
MD5が技術と時間的に厳しかったからダウンロードしたファイル名(秒単位までの時間)を送信して対応することにしました

ありがとうございました
824デフォルトの名無しさん (ワッチョイ c61c-CNfw)
垢版 |
2024/03/10(日) 12:02:36.25ID:L6LWs13j0
環境ってフレームワークや言語ごとにvmwareでわけたらいいのか、それともdockerがよいのか、
先輩方教えてください
2024/03/12(火) 01:50:45.53ID:TnUWR0Du0
動作しているコードでVSCodeで赤く表示されるところを直そうと思い
$row[\"id\"]}
とエスケープしようとするとエラーと出ます。
赤く表示されるのはvscodeが何か勘違いしているということでしょうか?

https://i.imgur.com/RdSJ8HS.png
2024/03/12(火) 02:57:29.14ID:oTlhluwZ0
{$row['id']}にしてみ
2024/03/12(火) 10:50:36.47ID:meXeXcdC0
>825

>826のように波括弧で括るか、ダブルクォーテーションをシングルクオーテーションにしてみ
2024/03/12(火) 17:55:50.35ID:TnUWR0Du0
>>826-827
ぉぉ・・・すごい、うまくいきました。
確かに変数展開する必要が無いならシングルクォートで良いですよね
ダブルクォートを使うことしか考えていませんでした
2024/03/13(水) 01:02:40.75ID:GqTsKoAX0
>828
実際の開発現場ではコーディングのルール決まってるからシングルクオーテーションやダブルクオーテーションを混ぜて使ったりしては駄目だから気を付けてねー
2024/04/01(月) 23:48:30.99ID:VotzuRBw0
postするデータってなんでもかんだもCSRF検証するものですか?
2024/04/01(月) 23:53:33.26ID:VotzuRBw0
SPA作ったんですがCSRF検証してません
ポストするデータはゲームのステージデータです
仮にCSRF攻撃されたとしてもステージデータが増えるだけなんですがこういうケースでもCSRF検証はすべきでしょうか?
2024/04/02(火) 00:37:08.09ID:Y1y4I8En0
本人の意図しないところでステージデータがポコポコ増えたら困るでしょ?
2024/04/02(火) 09:20:13.00ID:MCcZjXUK0
このケースでは検証すべき、こっちではしなくて良い、とかやってるとそのうちその振り分けでやらかしそうだから
如何なる場合でもPOSTデータは検証すべき
2024/04/02(火) 16:50:28.30ID:4sW3pgf50
そうですか
ありがとうございました
2024/04/03(水) 03:58:04.60ID:EpnIAvlv0
CSRFの実装しました
難しいかと思ったら割と簡単でした
案ずるより産むが易しキヨシってやつですね
2024/04/03(水) 16:08:59.39ID:sHoarvhc0
nonceもCSRF対策の一種?
2024/04/05(金) 11:14:06.54ID:ZTISEuLN0
管理画面や、限定的にしか見れないページ(社内のみとか)はサボる時あるけどねw
理由は、そもそも管理画面自体に入られたらパスワードが漏洩しているという意味で全て終わりだから。

サボるのはpostするデータをバリデーションするか、とかサニタイズするか、とか。
性善説に基づいて作るとめちゃくちゃ楽よ( ;´Д`)
2024/04/05(金) 17:24:40.42ID:ed+JNEgF0
>>837
管理画面にログイン済みのユーザーにPOSTするリンクをクリックさせて管理者にしかできない操作をさせるみたいなのがCSRFだと思うんだが・・・

CookieをSame Siteにすれば防げるケースが大半だろうけど多段防御しといた方が安牌だと思う
2024/04/06(土) 00:42:24.17ID:4xUg8EFL0
>838
vpn接続して使用してる管理画面だから、誰か入ってくる事は無いし、そもそも誰か入って来た時点で即、死を意味してるのでプログラム云々というよりネットワークのセキュリティの話になってくる、というね。

話逸れたけど、個人的にはこれくらい内々で使うサービスなら良いけど、逆に言えばそれ以外はPOSTデータの取り扱いは100%対策しないとダメだよ、って話
2024/04/06(土) 02:02:19.01ID:0VY5CEth0
100%
2024/04/06(土) 02:12:00.29ID:Jz+yuHp90
>>839
VPN接続してるかどうかとか全然関係ないよ
そもそもCSRFって内部ネットワークに誰か入ってくるとかじゃないから
2024/04/08(月) 16:50:29.21ID:wyxCOIbr0
intval(080)が0になるのはなんで?
2024/04/08(月) 19:16:57.61ID:0Leau+zw0
>>842
不正な8進数だからだろ
2024/04/10(水) 11:28:55.93ID:NX4cvx9u0
Closure::bindやbindToがnullを返すのはどんな場合ですか?
公式ページには"失敗するとnullを返す"としか説明がなく
具体的な失敗パターンが知りたいです
2024/04/14(日) 23:11:55.65ID:zqSEJi8N0
>>844
基本的にバグのときしか無いよ
見れない関数見てるとかそもそも関数じゃないとか
2024/04/15(月) 20:58:30.82ID:ykbkL8b10
>>845
ありがとうございます
2024/04/16(火) 01:54:25.90ID:J00dMuyV0
PHPってなんでこんなに速いんですか?
他のインタプリタ言語よりかなり速いですよね
2024/04/16(火) 04:36:49.17ID:j7JGuKK50
利用者が多いと高速化モジュールを作ってくれる人がそのうち出て来る

でもphpよりperlの方が速いって言う人もいる
2024/04/16(火) 10:35:03.69ID:6qmOkfsb0
今やpythonのほうが高速だから残念ながらphpのアドバンテージは下がってしまった
2024/04/16(火) 11:14:04.07ID:kYFjszay0
fastAPIってどのくらい速いんかね?
2024/04/16(火) 11:23:09.48ID:MMZJeoHC0
メンテしやすい方が楽で良い
2024/04/16(火) 20:06:50.70ID:uAswjotn0
Laravelとかも最近のopcache使ったときやたら速くて感心したな
2024/04/16(火) 23:44:05.47ID:dnnaoba60
いくらphpが速くてもpythonはcかc++並になってしまったからもう追いつけない
2024/04/17(水) 00:07:31.24ID:I8L23udN0
追いつけないかどうかはやろうとする処理次第
Eコマースで商品一覧をDBから取得し画面に出力するとなれば
処理の大部分はDBの処理時間
2024/04/17(水) 01:28:51.06ID:c72vfF8y0
誰もDBの話はしとらんが?
2024/04/17(水) 01:34:48.91ID:ze0TvR6C0
>854 そりゃそうだろw今はそんな話はしてないし、自分の土俵に持っていく為に話題のすり替えになってるぞ
2024/04/17(水) 07:51:37.15ID:xZLw0gTi0
なでしこ3はPythonより6.5倍速い
2024/04/17(水) 09:34:48.22ID:CzOcQm8R0
PythonよりPHPやRubyのほうが速い
ざっくり3〜5倍
さらにPHPやRubyよりJavaScriptのほうが速い
それもざっくり3〜5倍
PerlはPythonと似たり寄ったり
PythonだけJITがないから置いてきぼり
今年のQ4に出る3.13で導入予定らしいけど最適化に時間がかかるから今のレベルに追いつけるのは5年くらい先

Pythonで性能を出したければシェルスクリプトと同じようにできるだけPython内でループを回さずC/C++で書かれたライブラリに一括で処理を委譲する
Webアプリだとなかなかそうもいかないけど
2024/04/17(水) 11:15:26.47ID:hNUrcL2F0
フルスタックとしてPHP8.2は速いよね
バックエンドだと言語による差は無いか
2024/05/01(水) 22:35:49.91ID:Jo6lQIiP0
php8でJITが導入されていてそれを利用することで現状だと単純な計算速度ではphpの方がpythonより速いと思う
ただpythonもJIT導入予定と聞いている
2024/05/03(金) 19:58:28.18ID:+USmG/sP0
node.jsってそんなに速いの? 知らなかった
2024/05/03(金) 20:16:52.06ID:+XAyZCIw0
>>861
Rustと比較対象にされるくらいは速いよ
https://deepu.tech/concurrency-in-modern-languages-final/

というかね、PHP/Python/Rubyが論外に遅すぎて、これらの言語使った時点で速度は度外視前提だから、
これらについては速度比較すらまともにされて無いでしょ
2024/05/03(金) 20:57:10.70ID:+XAyZCIw0
こっちの方がよかったかも?
https://www.techempower.com/benchmarks/#hw=ph&test=composite§ion=data-r22
2024/05/03(金) 20:59:44.77ID:9ebiuCIb0
この人はどんな利益を得ているんだろう
2024/05/04(土) 00:40:36.66ID:TbdOZmgm0
個人でPHPとJS(ブラウザ)とPythonの速度比較したら
JS, PHP, Pythonの順で早かった
JSはGoogleのエンジニアがV8組んでるだけあってインタプリタの中じゃ最速だな
2024/05/04(土) 09:25:16.85ID:hhjXOeVD0
ゆうてサーバ側でjs使うのはawait promise地獄になりがちで見た目がね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況