[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 02/23 23:57 / Filesize : 381 KB / Number-of Response : 998
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2022/09/20(火) 16:46:23.39 ID:Sb2Kpzh+0.net]
!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

552 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 08:12:37.51 ID:CC33Xm/N0.net]
>>551
一応、CakePHP→Laravelと通ってます。

単純なシステムなら綺麗でわかりやすいコードになりますが、
複雑な要件になると、力技の部分がどうしてもでてきます。

553 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 13:06:17.18 ID:ubLXos3L0.net]
>>552
フレームワーク使用したことがあるのに「クラスなりメソッドなりに分けると、複数ファイルにまたがって複雑です。」とか言っちゃうのはかなりまずい気がするけど、複雑な要件の実装時に十分に責任分解できてないんじゃないかなぁ…

https://github.com/alexeymezenin/laravel-best-practices/blob/master/japanese.md#%E5%8D%98%E4%B8%80%E8%B2%AC%E4%BB%BB%E3%81%AE%E5%8E%9F%E5%89%87

これのGoodがGoodに感じられないってことだよね?

554 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 13:27:47.02 ID:gJ92KJGfa.net]
コミュニティーの議論や歴史を調べること

Ruby on Rails では、コントローラーの肥大化を防ぐために、
Skinny Controller, Fat Model を推奨した。
その結果、モデルが肥大化した

そこで今度は、モデルの処理を減らすために、
Form Object, Service Object へ処理を分けた

また表示処理は、Presenter へ分けた。
それで、Form Presenter, Model Presenter が出来た

555 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 13:27:53.51 ID:A07qb0io0.net]
こういうのは2つ実際に書いてみて、両者を見比べて良い方を採用する
理屈よりも、自分の目で見て判断するのが良い

556 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 15:25:51.23 ID:CC33Xm/N0.net]
>>553
いえ、これはGoodです。理想です。
しかし、システムの規模が大きくなると処理が増えるんです。
複数のメソッドを役割ごとに用意し、コントローラから指示を与えなければいけません。

>>555
今の自分はそうしてますね。
PHPに限らず、Javascriptなんかも最初はそのまま書いて、
後からjQueryにしたり、Vueに変更したりします。

結果、倍時間がかかって効率が悪くなります。
同じことをしているとモチベが下がり、開発意欲は失われます。

557 名前:デフォルトの名無しさん mailto:sage [2023/04/25(火) 15:27:54.01 ID:dvdIAVRA0.net]
古いPHPのシステムを保守するならDockerにぶち込むのが一番?

558 名前:デフォルトの名無しさん (スッップ Sd0a-T9f9) mailto:sage [2023/04/26(水) 13:32:18.14 ID:oPAFNUffd.net]
結局ifは減らないんだよね
ファイルを分けても分けなくても、オブジェクト指向でもそうでなくとも

Strategy/StateパターンとTemplateパターンの併用にして
スイッチっぽく分岐をわかりやすするのが一番かな

559 名前:デフォルトの名無しさん (ワッチョイ aa7c-RykB) mailto:sage [2023/04/26(水) 13:45:21.48 ID:DHcVafSS0.net]
ifを無理に減らす必要は無いのでは?
必要なら書かなきゃいけないし
ただ処理が集約出来るとかなら外に追い出したらいいし
パターンが多い場合はswitch()の方が良い場合も確かにあるし
ケースバイケースかと

elseifが並ぶのは個人的に嫌いだがw

560 名前:デフォルトの名無しさん (スップ Sdea-rwG/) mailto:sage [2023/04/26(水) 13:47:42.93 ID:poJ+ClSWd.net]
elseif嫌いわかる
elseの中にif書きたい

パターン3つ以上になるならswitchにするな



561 名前:デフォルトの名無しさん (ワッチョイ 5e5f-RykB) mailto:sage [2023/04/26(水) 13:57:33.29 ID:w+qfVGMw0.net]
else if は嫌いというか、あとで取捨選択が面倒なので
if文単独で成り立つようにしておくことが多いな

562 名前:デフォルトの名無しさん mailto:sage [2023/04/28(金) 14:22:47.60 ID:woDvEBlt0.net]
訊きたいことありましたが自決しました

563 名前:デフォルトの名無しさん (ブーイモ MMc9-EW+4) [2023/04/28(金) 14:52:55.46 ID:L2hGySASM.net]
おお死んでしまうとはなにごとだ

564 名前:デフォルトの名無しさん (ワッチョイ 7502-rwG/) mailto:sage [2023/04/28(金) 15:31:57.97 ID:4N/b4mKa0.net]
盆には帰ってこいよ

565 名前:デフォルトの名無しさん (ワッチョイ b77c-6bRy) [2023/04/30(日) 00:40:31.69 ID:z7x3mWoF0.net]
PHP7.2.24をインストールしました。Composerもインストールしました。
次のようなExtensionも使えるようにしたいのですが、つまっています。
ext-bcmath,ext-ctype,ext-curl,・・・

ネット上でみたところ、PHPの用語でモジュールとExtension、ライブラリとあるようですが、
それぞれ違うものなのですか?

566 名前:デフォルトの名無しさん (ワッチョイ 9f7c-fitb) mailto:sage [2023/04/30(日) 01:15:52.37 ID:vhG6z0vz0.net]
PHPの拡張ならそれを入れないと使えないのでは・・・
composerはあくまで自分の作るプログラムで使うライブラリを導入するもの

567 名前:デフォルトの名無しさん (ワッチョイ efae-KeI6) mailto:sage [2023/05/12(金) 22:24:38.02 ID:sJueD97p0.net]
サーバーのバックエンドの*.phpはpost送信などで任意で呼び出して実行されますが
このバックエンドの*.phpで自発的に一定時間ごとにプログラムを駆動させることはできますか?
例えば1時間おきとか1日おきとかに規定プログラムを実行なんていうのは

568 名前:デフォルトの名無しさん (ワッチョイ 527c-KeI6) mailto:sage [2023/05/12(金) 22:30:23.15 ID:+3Auf0UC0.net]
cronに登録すればいいだけでは?
PHPをデーモンとして常駐させてその中で定期的に動かす方法もあるだろうけど

569 名前:デフォルトの名無しさん mailto:sage [2023/05/12(金) 23:50:55.10 ID:A3+wmcch0.net]
無限ループとsleep使ったスクリプトを起動させときゃいいけど
自分でコントロール出来ないサーバだと勝手にkillされるかもな

570 名前:デフォルトの名無しさん (ワッチョイ 1349-ELkX) mailto:sage [2023/05/13(土) 09:35:12.10 ID:vNstIXFZ0.net]
例えばWindowsならコマンドプロンプトで
「php.exe <そのファイル>」
と打てば実行できる(環境変数に入ってる前提で)

そういうことじゃないの?
あとはWindowsならタスクスケジューラとかLinuxならcronとかで、同じように実行すればいい



571 名前:デフォルトの名無しさん (ワッチョイ 835f-+6/9) mailto:sage [2023/05/18(木) 11:36:31.84 ID:cerdIEN00.net]
フロントエンドはJS、バックエンドはPHPってできるだけ切り離したい

バックエンドとしてDBからデータ受け取るためだけにPHP使うってありなのかな?
あと現状スクラッチ開発しかしたことがないからバックエンド向けのフレームワークも試してみたい

572 名前:デフォルトの名無しさん (ワッチョイ cfbb-ScEU) mailto:sage [2023/05/18(木) 11:39:20.88 ID:yxJWp9Lm0.net]
すればいいじゃん
がんばれ

573 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 12:33:14.63 ID:l6GHSnlrr.net]
言語はなんでもいいならphpなんて選ばない
普通はrubyかJavaかpythonだぞ
phpはやめとけ

574 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 12:43:42.00 ID:4rcvRPf10.net]
Pythonは完全に対応しているサーバーが少ないみたい
Pythonとdjangoでバックエンド書く方法が自分にはまだわからない

575 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 15:55:36.70 ID:nTE2uard0.net]
>>571
バックエンドには通常PHPを使用するのでアリ
フレームワークはFuelPHPが良いね
フロントエンドのフレームワークはjQueryを使う

576 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 16:38:05.22 ID:BkqgSu2K0.net]
>>573
その3つの方が選ばないわw
PHPが一番楽だろw
それにPHPのスレでその返答はないわ
ゴミは消えろ

577 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 16:43:12.95 ID:psogGPWLr.net]
まあラクなのはphpやろなあ
ケースによって最適は異なるから、便利な言葉「場合による」

578 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 17:32:55.73 ID:7XjO1SKk0.net]
なんでも使える自社サーバーなのか、
レンタルサーバーのつもりかで選択肢かわるもんな

phpはだいたい使えるから仕方ない

579 名前:デフォルトの名無しさん mailto:sage [2023/05/18(木) 19:26:52.18 ID:iyBRbBgp0.net]
VPSなら何だって使える

580 名前:デフォルトの名無しさん mailto:sage [2023/05/19(金) 01:52:10.66 ID:TiXR4GEz0.net]
>>578
会社のサーバーがさくらのレンサバだから何でもかんでもPHPなんだよね

ごく小規模だからスクラッチ開発が基本だし
レベル低くて仕事で精一杯だしで何か独学するって余裕もないから、まずPHPの手軽さからわざと離れてJSでDOM操作は分けてみようかなぁと



581 名前:デフォルトの名無しさん mailto:sage [2023/05/22(月) 01:29:49.15 ID:6n6FPMUf0.net]
別に言語はなんでもいいけど
クライアントJSから直接サーバのDBにはアクセスできないし
非同期でやる場合、だいたい>>571のようになるんじゃね

582 名前:デフォルトの名無しさん mailto:sage [2023/06/10(土) 20:37:19.56 ID:TSaFGI4o0.net]
WSL2(ubuntu)にLaravelインスコしてみたけど
メモリ8G程度だときっついですね
docker desktopとかwindowsターミナル入れろとかこの辺は
aptでdocker入れたりubuntu直接起動したりすればおkな感じですか?
とりあえずやってみてその方法でもいけたはいけたんですが(メモリも1Gぐらい減った)
ビルドしてるときの表示がバグったりちょっと不安要素がありました

583 名前:デフォルトの名無しさん mailto:sage [2023/06/11(日) 08:50:59.31 ID:nugYPewD0.net]
メモリも問題だけど、たぶん最大の問題はファイルを配置した場所だと思うよ
・ソースコードをWSL2ディストリビューション領域内に配置する
で大幅に改善すると思う

584 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 08:08:55.93 ID:VNkMF7gVM.net]
httpリクエストで動的なサイトからデータ取得するのってやっぱり無理なんですかね?javascriptでhtmlが生成されるよなページんんだけど

585 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 10:00:10.61 ID:AjUdrP5R0.net]
無理ではない
curlやDOM操作のライブラリ自体は揃ってるんだから、後はあなたが頑張ってそのJavaScriptの動作を真似るだけ

586 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 10:25:34.03 ID:mHRjcInk0.net]
おれなら生成はブラウザにやらせるかな
出来た頃合いを見計らってデータを盗む

587 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 10:27:10.81 ID:wQ6JiRj1M.net]
例を示していただけませんか

588 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 10:29:59.61 ID:wQ6JiRj1M.net]
javascriptは通常ブラウザが実行します。しかしhttpリクエストではブラウザを介さないためjavascript は実行されません。ヘッドレスブラウザなどを使えば動的なコンテンツを取得できますが、わたしの課題はhttpリクエストで動的ページからデータを取得することです

589 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 10:34:38.95 ID:wQ6JiRj1M.net]
レスポンスを取得してからjavascriptを一回実行すればいいのかな?そんなことできるのかな

590 名前:デフォルトの名無しさん (ワッチョイ 7b5f-2rqm) mailto:sage [2023/06/12(月) 10:41:43.85 ID:mHRjcInk0.net]
大変だね
ブラウザ禁止縛りプレイならまあ自分で頑張るしかないね

ていうかphantomjsって開発停止してんだな 知らんかった



591 名前:デフォルトの名無しさん (テテンテンテン MMeb-+QT+) mailto:sage [2023/06/12(月) 21:30:39.08 ID:DY0b1d5xM.net]
httpリクエストで動的なサイトからデータ取得するのってやっぱり無理なんですかね?javascriptでhtmlが生成されるよなページんんだけど

592 名前:デフォルトの名無しさん (ワッチョイ 8bbb-hEWj) mailto:sage [2023/06/12(月) 21:39:47.58 ID:sQEwwMG40.net]
おまえLaravelスレのアラシだろ
うざいよ

593 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 22:12:16.13 ID:mHRjcInk0.net]
>>591
puppeteerがいいんじゃない?

おれは使ったことないけど、phantomjsのメンテナが
「puppeteerあるならもうphantomjsなんかいらんわ」
って言いだして開発終了したらしいし、確かみてみろ

594 名前:デフォルトの名無しさん mailto:sage [2023/06/12(月) 22:24:27.56 ID:kqdcKHtBM.net]
puppetterというものはヘッドレスブラウザを使えるようにしたライブラリであり、わたしはスクレイピングをしたいわけではありません。わたしの課題はhttpリクエストで動的なサイトからデータを取得することであり、ヘッドレスブラウザを使用してスクレイピングをしたいわけではありません

595 名前:デフォルトの名無しさん (テテンテンテン MMeb-+QT+) mailto:sage [2023/06/12(月) 22:37:29.16 ID:kqdcKHtBM.net]
わたしがヘッドレスブラウザを使わない理由はデータの取得時間がかかるからです。またわたしはデータベースを使用しないことを前提としているので、取得したデータを保持することはありません。つまり度々データを取得することになる場合に都度ヘッドレスブラウザーを走らせる設計は現実的ではありません

596 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 11:41:46.36 ID:zJMyBjWC0.net]
>>595
これが各行ごとに良くわからないな

>データの取得時間がかかるからです
何が原因で取得時間がかかるようになるのか
実測してそんなに差異が出たってコト?

>データベースを使用しないことを前提としているので
DBなんか使わなきゃいいんじゃない?

>度々データを取得することになる
同一データを扱うならキャッシュすればいいんじゃない?
PHPでだってアホに作れば度々データ取得しに行っちゃうと思うよ

>現実的でありません
面倒くささ的にも自前でDOM構築する方が非現実的だよね

597 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 16:08:55.26 ID:Oj3crCHea.net]
async awaitとfetch使ってデータ取得すれば良いじゃん

598 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 18:49:37.74 ID:r31gUBK2M.net]
httpリクエストとスクレイピングでデータ取得の速度を比較する場合一般的にはhttpリクエストのほうが高速です。またわたしの想定では同一データではなく毎回違うクエリでリクエストすることが予想されます。

599 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 18:50:18.43 ID:r31gUBK2M.net]
>>597
具体的にはどのような手順でそれらを使用しますか?

600 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 22:21:10.72 ID:LrQ+wv81M.net]
単純で簡単なjavascriptでレンダリングされているならいけたかもしれませんがフレームワークを使われていたら解析が困難ですね。やはり無理か



601 名前:デフォルトの名無しさん mailto:sage [2023/06/13(火) 22:21:52.68 ID:LrQ+wv81M.net]
そしてnodejsが使えないのでヘッドレスブラウザも無理と。

602 名前:デフォルトの名無しさん (アウアウアー Sa8b-Seme) mailto:sage [2023/06/13(火) 23:39:40.44 ID:Oj3crCHea.net]
>>599
取得したいサイトのURLとその出力htmlの欲しい部分教えて

603 名前:デフォルトの名無しさん (テテンテンテン MMeb-mVGR) [2023/06/14(水) 02:57:47.74 ID:sJAdEXJGM.net]
>>602
取得したいサイトは複数ありますがECナビになります。
https://ecnavi.jp/search/?word=%E6%88%91%E3%81%8C%E5%A4%A9%E4%B8%8B

htmlの欲しい部分は表示される案件の部分です。
しかしフレームワークがhtmlをレンダリングされている可能性があり、おそらく解析は困難です。
ajaxからデータを取得するサイトもありましたがcros制限がかかっているため不可です。
ヘッドレスブラウザは環境が構築できないので選択肢には含みません。

わたしはhttpリクエストで動的なサイトのデータを取得するのは無理と判断しました。

604 名前:デフォルトの名無しさん (ワッチョイ 8bbb-hEWj) mailto:sage [2023/06/14(水) 04:20:42.50 ID:Jx0dk3g+0.net]
普通に利用規約違反じゃねぇかw

605 名前:デフォルトの名無しさん (アウアウウー Sadd-APG/) mailto:sage [2023/06/14(水) 05:35:16.83 ID:VFw5jfyla.net]
>>582
WSL2, Ubuntu 20/22, VSCode, Windows Terminal, Docker Desktop

VSCodeの拡張機能・Remote Development に、
3つの拡張機能・Remote Container/WSL/SSH が含まれている

日本人が作った、多言語バージョンマネージャーのanyenv。
同様のツールに、asdf もある

Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv

漏れは、Ruby on Rails をやっているけど、メモリは32〜64GB ほしい

606 名前:デフォルトの名無しさん (アウアウアー Sa8b-Seme) mailto:sage [2023/06/14(水) 06:54:43.13 ID:4pmBicBja.net]
>>603
案件って「ポイントアップチャレンジ」の部分?

607 名前:デフォルトの名無しさん (テテンテンテン MMeb-+QT+) mailto:sage [2023/06/14(水) 07:38:40.54 ID:dOe183t+M.net]
>>606
案件の部分はPCで閲覧していると表示されません。ゲームアプリ案件の場合はユーザーエージェントがモバイルOSである必要があります。

608 名前:デフォルトの名無しさん (ワッチョイ d1a7-Cr01) mailto:sage [2023/06/15(木) 15:12:03.05 ID:pNWnTG3Z0.net]
たかだかバックエンドのWeb開発するだけなのに
メモリ32GBとか要求される異常な時代w

609 名前:デフォルトの名無しさん (スッップ Sd33-wNjT) mailto:sage [2023/06/15(木) 17:34:34.40 ID:oe0OZOrwd.net]
WSL2で2GB
Chromeで2GB
その他諸々で10GB

610 名前:デフォルトの名無しさん (ワッチョイ 8b63-2rqm) mailto:sage [2023/06/15(木) 17:37:28.87 ID:KtHE2I/00.net]
脳みそのメモリーが書き込み不可のエラーになってますし



611 名前:デフォルトの名無しさん (ワッチョイ d1a7-Cr01) mailto:sage [2023/06/15(木) 17:51:10.48 ID:pNWnTG3Z0.net]
各々アプリが肥大化しすぎてしまって…
minimal構成のも用意してくれればいいんだけどね
XPとか32bitOSが主流だった時代は4GBで十分足りただろうに
まあ今メモリ32GBで1万円ぐらいだから文句いうことでもないんだけど

612 名前:デフォルトの名無しさん (ワッチョイ 135c-2rqm) mailto:sage [2023/06/15(木) 18:17:52.09 ID:jjmsD4tb0.net]
32Gも要求されるって何開発してんの?

613 名前:デフォルトの名無しさん (ワッチョイ 8bbb-hEWj) mailto:sage [2023/06/15(木) 18:28:28.13 ID:W3FATu2P0.net]
616 じゃないけど、docker とブラウザ立ち上げてたら 16 GBをちょいちょい超えるから 32 GBに増設した
快適だぞ

614 名前:デフォルトの名無しさん (ワッチョイ 135c-2rqm) mailto:sage [2023/06/15(木) 20:46:52.21 ID:jjmsD4tb0.net]
快適な環境作りに必要って訳ね

615 名前:610 (アウアウウー Sadd-APG/) mailto:sage [2023/06/16(金) 00:02:25.90 ID:0+O5qEwBa.net]
Windows/Linux(WSL2), ブラウザ、VSCode, Docker

さらに、Ruby on Rails では、複数データベースで並列テストもできるし

616 名前:デフォルトの名無しさん (ワッチョイ 8b63-2rqm) mailto:sage [2023/06/16(金) 00:06:26.73 ID:siRuxcGs0.net]
Ruby厨は呼んでない、巣に帰れ

617 名前:デフォルトの名無しさん (ワッチョイ 8b10-JQtP) [2023/06/16(金) 13:32:48.84 ID:Y1bNR4pi0.net]
TwitterOAuthに詳しい人がいたら教えてください。
DeveloperPortalでアプリ作成済み、

composer require abraham/twitteroauth
でインストール済みとします。

$connection = new TwitterOAuth($consumer_key, $consumer_secret, $access_token, $access_token_secret);
$content = $connection->get("account/verify_credentials");

ではTwitterアカウントの情報が取得できるのですが、
(※app_keyの部分は省いています)

Twitter API v2に対応するために
$connection->setApiVersion('2');
を追加すると取得できません。$contentがNULLになります。

これってTwitterアプリが v2に対応していないからでしょうか?

618 名前:デフォルトの名無しさん (ワッチョイ 8bbb-hEWj) mailto:sage [2023/06/16(金) 17:45:17.56 ID:TyNt7O690.net]
>>617
API使うならドキュメントぐらい見ろよ
エンドポイントがないだけだろ

619 名前:デフォルトの名無しさん (テテンテンテン MM96-DFMs) mailto:sage [2023/06/17(土) 09:44:22.27 ID:C4ey1Sw3M.net]
addactionがfunctions.phpでは動作するのにカスタムテンプレートでは動作しない理由はなんですか?

620 名前:デフォルトの名無しさん (ワッチョイ 5e10-l8k0) mailto:sage [2023/06/18(日) 18:12:02.78 ID:h4u0ciKA0.net]
>>618
$content = $connection->get("account/verify_credentials");

ここの指定に問題があるということが掴めました。
ご指摘ありがとうございました。



621 名前:デフォルトの名無しさん (ワッチョイ 23a9-gN4b) mailto:sage [2023/06/25(日) 18:20:15.50 ID:gM/PAKCH0.net]
php初めてみたもののメンターとか先輩とかいないぼっちなんで無償版のchatGPT使うと
pdoを使ったDBの接続を含めたコードとか、SQLインジェクションの対応とか一瞬で出してくれてありがたい限り
有償版のGPT4ならコード生成は何かGPT3.5と変わるの?

622 名前:デフォルトの名無しさん (ワッチョイ 4b63-F8yx) mailto:sage [2023/06/25(日) 18:24:11.05 ID:PAO3/SeJ0.net]
寝ている間に君の仕事やってくれる

623 名前:デフォルトの名無しさん (ワッチョイ 23a9-gN4b) mailto:sage [2023/06/25(日) 18:40:58.90 ID:gM/PAKCH0.net]
それが本当なら指示のプロンプトがすごいことになりそう
実際のところ、ファイルを分けたCRUDなんて1回のプロンプトで生成とかできるんだろうか
どこまでならできるとか、ここはさすがにできないとか情報があるサイトがあれば教えていただければ嬉しいです

624 名前:デフォルトの名無しさん (ワッチョイ 955f-WUpn) mailto:sage [2023/06/25(日) 19:17:12.98 ID:XgY7oRFd0.net]
次のコードをクラスみたいに書いて?
→コンストラクタとメソッドに書き換えてくれる

ありがてぇ、関数群も提示するとそれに合わせてチューニングしてくれる

625 名前:デフォルトの名無しさん (ワッチョイ 4bf8-cPIU) mailto:sage [2023/06/25(日) 19:21:55.03 ID:i7rMe9Iv0.net]
知ってるコードで書いて
これをphpに移植したいというだけでほぼできる

626 名前:デフォルトの名無しさん (ワッチョイ 4bbb-wJdI) mailto:sage [2023/06/25(日) 22:54:48.63 ID:lataiSU20.net]
君は今非常に危険なところにいます
phpのpdoは非常に厄介なんですが、それを理解してません
「SQLインジェクションの対応とか一瞬で」と言ってるけど、それは本当?

たとえば、
$pdo = new PDO('mysql:dbname=test;host=localhost');
なんて提示されて採用した場合、脆弱な箇所ができる可能性があるの理解してる?

ChatGPTの提示するコードは自分の理解できている範囲以外は危険だと思って検証しないと危ないよ

627 名前:デフォルトの名無しさん (ワッチョイ 23a9-gN4b) mailto:sage [2023/06/26(月) 02:27:13.68 ID:0+rAUtlj0.net]
>>626
$pdo = new PDO('mysql:dbname=test;host=localhost');
クエリではなく、この時点で見た感じとしては正直わからんです

chatGPTは
$pdo = new PDO("mysql:host=$db_host;dbname=$db_name", $db_username, $db_password);
binValueなども使ったものを提示していて、実際に動作しているのね。
pdoの引数に各変数があるぐらいで何かしらセキュリティに問題があるとは思わなかったんだけど、この例ではまずい点はあるの?

628 名前:デフォルトの名無しさん (ワッチョイ 4bbb-wJdI) mailto:sage [2023/06/26(月) 05:54:16.49 ID:xls0AJJa0.net]
PDO を使用する際、アプリケーションとしての文字コードを指定できる箇所は new PDO() 内のみです
ここで正しくアプリケーションの文字列を指定していない場合、アプリケーションとDBの間で文字コードに差異が出る可能性が高く、それ起因の脆弱性が発生する可能性があります

よく知られた例としては 5c 問題があり、例えば上記と "SET NAMES sjis"、動的プレースホルダのセットで、プレースホルダをすり抜ける脆弱性が発生します

629 名前:デフォルトの名無しさん (ワッチョイ 23a9-gN4b) mailto:sage [2023/06/26(月) 06:12:00.13 ID:0+rAUtlj0.net]
>>628
ありがとう、そういうことがあるのね。
自分がchatGPTに依頼した10回に1回ぐらいの割合で
$dsn = "mysql:host=$host;dbname=$db;charset=utf8mb4";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
];
try {
$pdo = new PDO($dsn, $user, $password, $options);

があったので、これからはcharsetを明示するか意識しておきます。
知らないことを伝えられて動いたら全面的に信頼してしまうのも良く無いので、完全では無いことを意識しておきます

630 名前:デフォルトの名無しさん (ワッチョイ b502-1El8) mailto:sage [2023/06/26(月) 10:06:12.93 ID:kBW+dErx0.net]
どうしてそんなにChatGPTにこだわるんだ



631 名前:デフォルトの名無しさん (ワッチョイ 1be7-F8yx) mailto:sage [2023/06/26(月) 14:10:10.33 ID:RpzhtkjJ0.net]
流行りだからね

632 名前:デフォルトの名無しさん (ワッチョイ 955f-WUpn) mailto:sage [2023/06/27(火) 01:40:25.23 ID:BUGmgo620.net]
RHELの件でこのスレ的に問題になりそうなことはありますか?
https://www.redhat.com/en/blog/furthering-evolution-centos-stream?sc_cid=701f2000000tyBjAAI

> CentOS Stream will now be the sole repository for public RHEL-related source code releases.

633 名前:デフォルトの名無しさん (ワッチョイ 8da7-0Dh1) mailto:sage [2023/06/29(木) 01:16:30.55 ID:IOgTB2mJ0.net]
コミュニティ無視したことやって分裂すると
その系譜はもう長らくは信用されないので
CentOSが死んだ時点で大方はUbuntuに移ったのでは
このスレ的に必要なのは長期サポートだしね

634 名前:デフォルトの名無しさん (ワッチョイ d3db-fXPZ) mailto:sage [2023/07/01(土) 23:56:45.93 ID:qg8w7WVg0.net]
PHPを始めたばかりのものなのですが

635 名前:デフォルトの名無しさん (ワッチョイ d3db-fXPZ) mailto:sage [2023/07/01(土) 23:58:14.54 ID:qg8w7WVg0.net]
間違えて書ききる前に投稿してしまいました

PHPが無料サービスの範疇で動かせれるレンタルサーバーってあるのでしょうか?
HTMLは過去に使った事があったレベルでHTML自体久しぶりなので今どういうサービスがよいものかもわかっていません

636 名前:デフォルトの名無しさん (ワッチョイ 06f8-1X2b) mailto:sage [2023/07/02(日) 19:31:28.47 ID:gdoAp3Jw0.net]
むしろ殆どphp動くだろ
rubyならともかく

637 名前:デフォルトの名無しさん (ワッチョイ 4f5f-+5O0) mailto:sage [2023/07/02(日) 20:33:28.61 ID:QFPeETi70.net]
レンタルサーバーは基本的にMySQLとPHP動かせるようにしてるから
WordPress入れられるように

638 名前:デフォルトの名無しさん (ブーイモ MM8e-D/Rs) [2023/07/05(水) 12:23:56.04 ID:BSe/7cdeM.net]
>>628
15年近く脆弱性関連のバグが放置されてるのは凄いね
しかもそのライブラリが未だに広く使われてとかどう考えても頭おかしい

639 名前:デフォルトの名無しさん (ワッチョイ 86bb-p0MK) mailto:sage [2023/07/05(水) 17:36:49.07 ID:FFK7TFKZ0.net]
>>638
調べりゃわかるけど、バグじゃない
charsetの設定が効かなかったバージョンがあるからそれはバグとみなしても良いかもしれないけど、PHP5.3.7以下とか随分前の話

文字列の連結使って SQL 文作っちゃダメとかと同じ知ってないとダメなセキュリティ知識だよ

640 名前:デフォルトの名無しさん (ブーイモ MM5b-D/Rs) [2023/07/05(水) 18:51:56.66 ID:VuPZbF0BM.net]
>>639
デフォルトでなんちゃってprepared statementが使われる時点でセキュリティ的にはバグなんだよね
PDO特有の問題を一般的なセキュリティ知識と同列に語ったらダメだよ
文字列連結だって適切にエスケープ出来れば問題はないわけだけどデフォルトでそんな脆弱な処理をするライブラリがあったら頭おかしいと思うでしょ



641 名前:デフォルトの名無しさん (ワッチョイ 86bb-p0MK) mailto:sage [2023/07/05(水) 19:39:41.44 ID:FFK7TFKZ0.net]
>>640
なんか、無茶苦茶だねぇ
まず、
> 15年近く脆弱性関連のバグが放置されてるのは凄いね
これが全く認識違いだったってことは理解できた?
現在のphpではcharsetをPDOコンストラクタ内のDSNで設定してあげることで、アプリとDBの間の文字コードにずれが発生することがなくなり、意図した通りの動作をさせることができる

> デフォルトでなんちゃってprepared statementが使われる時点でセキュリティ的にはバグなんだよね

全然話が変わってるけど、なんでこんな話が出てきたの?
動的プレースホルダをデフォルトとして採用することをバグと呼ぶ人は見たこと無いけど、たしかにセキュリティ屋から見ると好ましくはない
ただ、ネットワークレイテンシを考えると非常に合理的なので、それほど悪い選択ではないと思う

顕在化した脆弱性があるわけでもないし現在においてはアプリとDBをutf-8で統一することも容易なので、正しくアプリケーションの性格に合わせて選択すればよいだけの話だよ

642 名前:デフォルトの名無しさん (ワッチョイ 0ee7-hRAP) mailto:sage [2023/07/06(木) 11:41:34.33 ID:us421T2z0.net]
面倒な人が絡んできてるね・・・
仕様バグだろうとバグはバグよ

643 名前:デフォルトの名無しさん (ワッチョイ 0663-hRAP) mailto:sage [2023/07/06(木) 11:46:42.56 ID:5cWvOTk60.net]
脆弱性は、設計上のバグ
知ってないとダメというのは、バグ回避のテクニック

644 名前:デフォルトの名無しさん (ワッチョイ 86bb-p0MK) mailto:sage [2023/07/06(木) 12:43:03.10 ID:KqeQuq1k0.net]
>>642-643
charsetの設定に未だバグが有るって言いたいの?
それともデフォルトが動的プレースホルダになったことをバグと言いたいの?

何を脆弱性/バグって言いたいのかわからん

645 名前:デフォルトの名無しさん (スップ Sd22-+5O0) mailto:sage [2023/07/06(木) 18:00:41.52 ID:hqQEAg+3d.net]
個人的にはメール送信関係でヘッダー7ビット文字に変えるのがなんかもやもやする

昔のソフトだと7ビットじゃないとダメってのはわかるんだけどUTF-8でもいいじゃねーかってなる

646 名前:デフォルトの名無しさん (ワッチョイ 7f7b-gGH9) mailto:sage [2023/07/06(木) 22:27:39.58 ID:CUYn8xPf0.net]
>>642
勘違いしているのはお前で、一般的にはそれはバグとは言わない。
同様の件なら踏切や横断歩道もバグになる。勿論高架や歩道橋にするべきではあるが。
昨年の観光バス横転事故(フェード現象らしい)もバグではなくブレーキの仕様だ。仕様バグでもない。
ホームドアもそれなりに普及して、
あらゆる物がある程度デタラメな操作(=ホームの端を歩く)しても安全になっては来ているが、
素人がどんなデタラメをやっても安全とはなってないし、ならない。
プログラミングに関しては今後とも「正しい操作をした場合に正しく動く」でしかないだろうよ。
不親切なのはその通りだし、改善はしていくだろうけども。


>>645
公式見る限りPHPからは気にする必要なさそうだが違うのか?
なおutf-8も8bit使ってるから駄目だと思うぞ。
今更8bitが通らない環境なんてないし、有ったとしてもそんなところにメール出してないのも事実だが。
IPv6みたいに誰かが音頭取って更新を促さない限り無理だが、今のところ聞いたこと無いね。

647 名前:デフォルトの名無しさん (ワッチョイ 0663-hRAP) mailto:sage [2023/07/06(木) 22:53:42.84 ID:5cWvOTk60.net]
素人が脆弱性を突いてくる説

648 名前:デフォルトの名無しさん (アウアウウー Sabb-JtsX) mailto:sage [2023/07/07(金) 02:29:15.80 ID:u6t7w3p4a.net]
Java は、ログ機能にセキュリティーホールがあって、
Edge から、パスワードを抜かれますと報告が来た

セキュリティー更新せず、ほったらかしのサイトが山ほどある

649 名前:デフォルトの名無しさん (ワッチョイ 86bb-p0MK) mailto:sage [2023/07/07(金) 07:55:50.16 ID:84NzU0uw0.net]
>>643
>>647
結局何を脆弱性って言ってんだよ…
素人が脆弱性って言いたかっただけってこと?

650 名前:デフォルトの名無しさん (ワッチョイ 86bb-p0MK) mailto:sage [2023/07/07(金) 23:44:08.79 ID:84NzU0uw0.net]
>>645
なんかちょっと勘違いしてる気がする
昔のブックマークから拾い上げてみたんで読んでみて
https://blog.tmtms.net/entry/2014/12/06/postfix-8bit



651 名前:デフォルトの名無しさん (ワッチョイ ce8b-/jfo) [2023/07/17(月) 13:54:48.52 ID:pZjB1XDE0.net]
テスト

652 名前:デフォルトの名無しさん (ワッチョイ 9b5f-5LlG) [2023/07/18(火) 14:26:46.55 ID:2j+5uZca0.net]
ネットで見つけた掲示板のサンプルがクソでした
更新ボタン押すと同じ書き込みが繰り返されてしまうのです
どうすれば解決しますか?
ほんとプログラミングはクソ記事多くて困りますね
え?クソはおまえだ?
ごもっとも






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<381KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef