X



【PHP】Laravel【フレームワーク】 Part.3
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
垢版 |
2019/11/20(水) 11:15:48.17ID:???
テンプレ追加修正お願いします

Laravel
ウェブ職人のためのPHPフレームワーク

本家
https://laravel.com/

git
https://github.com/laravel

動画チュートリアル(英語)
https://laracasts.com/

日本語
http://laravel.jp/

書籍
Laravel リファレンス[Ver.5.1 LTS 対応] Web職人好みの新世代PHPフレームワーク

Laravelエキスパート養成読本[モダンな開発を実現するPHPフレームワーク!] (Software Design plus)

※前スレ
【PHP】Laravel【フレームワーク】
https://medaka.5ch.net/test/read.cgi/php/1503683914/
【PHP】Laravel【フレームワーク】 Part.2
https://medaka.5ch.net/test/read.cgi/php/1556417229/

amazonへのリンクが邪魔をしてスレッドを建てられなかったので外しました。
0232nobodyさん
垢版 |
2020/05/11(月) 03:30:41.49ID:???
>>231
DDDとか取り入れる時はEloquentsディレクトリ作ってそこにLaravelの所謂モデルを入れてる
DB取得にだけ使うから呼び方もモデルじゃなくてエロクウェントゥにしてる
0233nobodyさん
垢版 |
2020/06/06(土) 15:44:19.74ID:8y41C7uj
うちの会社railsからlaravelに主力を変えた
0234nobodyさん
垢版 |
2020/06/06(土) 16:17:02.30ID:???
symfonyしか知らんけどlaravelはhtmlのformどうやって作るんや
symfonyはformを作成する機能があってややこしいけど
0235nobodyさん
垢版 |
2020/06/06(土) 17:16:44.62ID:???
>>234
symfonyもlaravelも普通のhtmlのようにform書けるぞ
わざわざFormBuilder的なの使わなくても良い
0236nobodyさん
垢版 |
2020/06/06(土) 18:09:21.21ID:???
CakeにもあったけどFormBuilder的なの使ってる人居るんだな
生htmlかフロントフレームワークでいいじゃん
却って分かりにくいわ
0237nobodyさん
垢版 |
2020/06/06(土) 18:39:16.18ID:LzQMVH1N
>>232
lazyじゃなくなるな。APIなら大した問題ではないか?
0238nobodyさん
垢版 |
2020/06/06(土) 23:24:04.95ID:???
>>235
えそうなの?うちの会社じゃformクラス作ってるが却って分かりにくい気しかしない
0239nobodyさん
垢版 |
2020/06/07(日) 14:04:35.74ID:???
ぶっちゃけVueとかReactとかと組み合わせて使わないんなら別のフレームワーク使った方がいいんじゃない?
活発なバージョンアップでバンバン互換性が切れてるしLaravelだけの機能で全部賄ってたら古いバージョンにしがみつき続ける事になると思うんよね
0240nobodyさん
垢版 |
2020/06/09(火) 22:47:20.51ID:???
>>237
ビジネスロジックにフレームワーク絡んでない方が楽できる場合もあるでしょ
まあケースバイケースってやつ
0241nobodyさん
垢版 |
2020/06/20(土) 14:28:10.33ID:???
掌田津耶乃って人のlaravel入門ってどうですか?
評判いい?
0243nobodyさん
垢版 |
2020/06/20(土) 16:50:49.75ID:???
寧ろそれ以外の本はちょっと微妙だよね
0244nobodyさん
垢版 |
2020/06/22(月) 14:39:20.20ID:???
>>241
やめておくのが吉
ご近所さんながら、玄関前に俺がかったのを置いといてあげるよ
0245nobodyさん
垢版 |
2020/06/22(月) 22:22:45.90ID:???
できればなぜやめておいたほうがいいのかの理由も知りたいです
0246nobodyさん
垢版 |
2020/06/23(火) 21:12:04.97ID:???
掌田津耶乃の本はプログラミング初心者向けでググれば誰かがウェブにおんなじようなこと書いてそうな内容
とりあえず公式ドキュメント(かその日本語訳)読んである程度分かりそうだったり
分からなくてもググって答え見つけ出して解決できる人なら買う必要はない

そもそもこういう入門書ってアプデの度に仕様変更で使い物にならなくなっていくからプログラミングのはじめの一歩ならいいけど基本は公式にあたる癖つけといたほうがいいと思うよ
当たり前だけどタダで読めて更新もされるんだし
0247nobodyさん
垢版 |
2020/06/23(火) 21:27:07.08ID:???
でもLaravelの日本人コミッターに聞くと絶対
掌田津耶乃が上がるからそれなりに内容はよさそうな気がするが
0248nobodyさん
垢版 |
2020/06/23(火) 23:08:51.29ID:WaKLZoWb
掌田さんのlaravel本はわかりやすくてよかった
結局ほとんどググったけど、見返すとなるほどと理解が進む。
最初に何をすればさっぱりだった自分はまず掌田さんの本を見て
そかっからググって土日になんとかcrudたてることできました。
これでやっと組み込み基板の部品表管理と論理ソースのgheへのpush環境の
laravel実装が始められる…
0249nobodyさん
垢版 |
2020/06/24(水) 05:13:47.76ID:???
>>246
はじめの一歩だから本でいいんだよ
いきなり公式ドキュメントを読ませようとするなどうせ挫折する
ググるのは基礎知識があってこそだ
0250nobodyさん
垢版 |
2020/06/24(水) 08:11:34.48ID:???
>>249
だからはじめの一歩ならいいと書いてあるが?
0251nobodyさん
垢版 |
2020/06/25(木) 23:17:10.98ID:???
ごめん書いてなかった
0252nobodyさん
垢版 |
2020/06/27(土) 13:57:30.08ID:???
>>246
Laravel初心者っぽいし最初は本のほうがいいきがするけど
0253nobodyさん
垢版 |
2020/06/28(日) 13:55:51.22ID:???
だからはじめの一歩ならいいと書いてあるが?
0254nobodyさん
垢版 |
2020/06/28(日) 14:32:08.86ID:???
はじめの百歩くらいは本でいいだろ公式をあたれる能力が付くのはそれから
0255nobodyさん
垢版 |
2020/06/28(日) 15:16:34.76ID:???
だからはじめの一歩ならいいと書いてあるが?
0256nobodyさん
垢版 |
2020/06/28(日) 22:12:46.99ID:???
>>254
ゲーム好きってほどではなく軌跡のためだけにpspやvita,ps3,ps4を買う軌跡のヘビーユーザーとして意見さして頂きたい
あらかじめいうと、ルーファスが一番好きなプレイヤーの意見と考えてくれ。
Cはまずルーファスだと考えている。
身長がまず一つ、モーションで見ると、剣を抜くモーションが完全に閃の3,4のモーションそっくり。
そしてクロウに剣を突きつけるモーションは閃の軌跡2での正体を明かした後ヴィータに突きつけるモーションと同じ
またPVで撤収するときに実はユーシスが見切れている。これは正体が露見するのを防ぐためかと思う。アーツの紫の丸い玉は閃の軌跡3,4のSクラフトで最後紫になる。
PVのモノクロでロイド、リィン、ルーファス、まぁキーアもいるが、でてるのは3人の主人公の別の世界の存在である暗示。ノーマルリィンがでてくるから他の世界のルーファスがでてもおかしくはない。
前作で生きる意味を求めていたルーファス、偽物がゆえに本物になろうとオズボーンに認められようと足掻いていた。しでかしたと言われてめちゃ叩かれてるがひたすらもがいた不器用な男のファンなんだよ。
たぶんラピスも何かの紛い物、本物ではないが存在だが何かを救って救われるルーファスストーリーと期待してます。
仮にも鉄血の筆頭でレクターやクレアのように救われていないあいつは報われて欲しいと思ってるプレイヤーの妄想です。
0258nobodyさん
垢版 |
2020/07/01(水) 21:43:26.17ID:???
>>257
お前がな どうした?顔真っ赤にして手が震えって手ているぞ
0259nobodyさん
垢版 |
2020/07/02(木) 21:23:37.94ID:et3soeaH
盛り上がってまいりました
0260nobodyさん
垢版 |
2020/07/05(日) 22:49:30.26ID:???
信者がこれだけLaravelに夢中になるのだから
やはりおれのパンツにリソースをつぎ込めという指摘はきわめて的確なものであったといえよう
更なる増収増益のためにはパンツのステルス化及びカスタマイズモードの採用を提案したい
0262nobodyさん
垢版 |
2020/07/08(水) 21:13:14.65ID:???
Symfony蹴ってLaravel採用する理由は?
0263nobodyさん
垢版 |
2020/07/08(水) 21:21:51.41ID:???
フロントエンドフレームワーク使うんならLaravelの方がいい
0264nobodyさん
垢版 |
2020/07/13(月) 15:43:17.99ID:???
>>263
なんで?
JSON返すだけならフレームワークの相性なんて関係なくない?
0265nobodyさん
垢版 |
2020/07/13(月) 21:18:55.24ID:???
>>264
まさかいまどきJSONでやり取りしてるの?
0268nobodyさん
垢版 |
2020/07/16(木) 18:55:44.28ID:???
おいおい、まさか…
0269nobodyさん
垢版 |
2020/07/16(木) 22:51:15.76ID:???
天下のGoogle様の場合実はjsonではなくcsv形式でデータをやり取りしていることが多い
0270nobodyさん
垢版 |
2020/07/16(木) 23:26:40.85ID:???
ここの連中JSONでやり取りしてるのかよw
セキュリティ大丈夫か?
0271nobodyさん
垢版 |
2020/07/17(金) 08:18:44.28ID:???
JSONに親でも殺されたんだろうな
0272nobodyさん
垢版 |
2020/07/17(金) 08:30:24.71ID:???
サーバー→クライアントがJSONなのであって逆方向の通信にJSON使ってるヤツなんて殆ど居ないだろうし
元々表示させる為のデータが何形式だったからと言ってセキュリティ的には関係ないだろ
クライアント→サーバーがどうかってのならまだしも
0273nobodyさん
垢版 |
2020/07/18(土) 20:06:08.37ID:???
いやクライアント→サーバーがJSONでも一緒だろw
平文通信ならともかくw
0274nobodyさん
垢版 |
2020/07/18(土) 20:19:33.20ID:???
>>273
素人にはわからないかもしれないが、サーバ側で不特定の相手からjson形式でデータを受けるときは、セキュリティ上考慮すべきことが増えるんだよ。
0275nobodyさん
垢版 |
2020/07/18(土) 20:36:32.85ID:???
13日の金曜日には特に
0276nobodyさん
垢版 |
2020/07/18(土) 20:43:24.50ID:???
お前らのアプリってパスワードも平文で保存してそう
0277nobodyさん
垢版 |
2020/07/18(土) 21:17:13.50ID:???
Laravel使ってて標準のハッシュ使ってないヤツとかいるの?
0278nobodyさん
垢版 |
2020/07/18(土) 21:26:58.50ID:???
>>274
それJSONに限った話じゃないと思うけど?
具体的な問題点と、JSONに代わるセキュアなフォーマットを教えてください。
0279nobodyさん
垢版 |
2020/07/18(土) 21:45:36.91ID:???
JSONは悪意あるスクリプトを埋め込まれやすいってのは聞いたことあるな
JSONというよりはJSONのパース処理側に問題があるらしいが
0280nobodyさん
垢版 |
2020/07/18(土) 22:20:59.76ID:???
認証使えばいいじゃん
0283nobodyさん
垢版 |
2020/07/19(日) 07:12:07.65ID:???
掌田津耶乃のってアマゾンの評価悪すぎて
0284nobodyさん
垢版 |
2020/07/19(日) 10:55:10.36ID:???
>>279
そうそう。json_decodeとかunserializedとかは、改ざんされた入力データで想定外の復元が行われる可能性があるから、信頼されたクライアントでない限りは使わないのが無難(使うなとは言わない)。
0285nobodyさん
垢版 |
2020/07/19(日) 11:24:49.04ID:???
WordPressでは普通に使ってるけどね
0286nobodyさん
垢版 |
2020/07/19(日) 14:32:07.57ID:???
>>284
パース時にアンセキュアな問題があるとして、それはどんなフォーマットでも言える。
それはjson固有の問題ではないし、csvだろうがxmlだろうがx-www-form-urlencodeだろうが、パースが甘ければインジェクション系の脆弱性は起こりえる。
逆に、「○○っていうフォーマットを使えばパースは安全」って言ってるならその認識を改めたほうが良い。

>>274>>279 「考慮すべきことが増える」とか「悪意あるスクリプトを埋め込まれやすい」って書かれてるけど、肝心の比較対象が書かれていない。
0288nobodyさん
垢版 |
2020/07/19(日) 15:04:51.15ID:???
>>287
その前に君の「〇〇っていうフォーマットを使えばパースは安全」
という認識を改めたほうが良いよ
0289nobodyさん
垢版 |
2020/07/19(日) 15:07:59.54ID:???
>>284
言い過ぎだろ。json仕様に脆弱性はないし(今のとこ)、json_decodeにも脆弱性は見つかってない。
その点でcsvだろうとxmlだろうと、x-www-form-urlencodedだって同じ。(は言い過ぎか)
0290nobodyさん
垢版 |
2020/07/19(日) 15:09:04.04ID:???
>>288
こどおじには理解できないみたいだからそうせめてやるなよw
0291nobodyさん
垢版 |
2020/07/19(日) 15:10:05.94ID:???
json_decode脆弱性見付かって何回かアップデートかかってるぞ
0292nobodyさん
垢版 |
2020/07/19(日) 15:10:17.39ID:???
>>289
げ、まる被り(笑)まあ、あとは実装するやつの心がけ次第ということだ。
0293nobodyさん
垢版 |
2020/07/19(日) 15:23:44.12ID:???
そうそう。リスク判定できない人はjsonでデータを受け取るなと。
0295nobodyさん
垢版 |
2020/07/19(日) 15:59:01.63ID:???
json自体の脆弱性の話はしてないんだ。
使い方が悪ければ脆弱性につながりやすいというのを理解できないおこちゃまをどうしてやろうかという話なんだ。
0296nobodyさん
垢版 |
2020/07/19(日) 16:15:55.69ID:???
>>295
いや思いっきりJSON固有の話してたのに、急に一般論にして話そらすのやめよう?
話の始まりは >>265 だからそれを見返してね。

「ユーザー入力をJSONでフォーマットするのは危ないですよ」

「どんなフォーマットを使ってもユーザー入力は気をつけましょう」
じゃ全然話が違うでしょ
0297nobodyさん
垢版 |
2020/07/19(日) 16:31:04.14ID:???
>>296
どんなフォーマットだろうが不特定からの入力は、危険だからValidationは必須だよ。
特にjsonとかのデコードを前提とする入力は、さらに慎重なValidationを検討する必要があるよ。

という話をずっとしてるでしょ。
0298nobodyさん
垢版 |
2020/07/19(日) 16:41:34.32ID:???
>>297
それなら早く具体的な問題点とJSONに代わるセキュアなフォーマットを挙げてみてよ。
以前のレスにもそう書かれてのになんで挙げないのかな?
0299nobodyさん
垢版 |
2020/07/19(日) 16:41:57.45ID:???
顔真っ赤だな。
jsonはJavascriptとの親和性、csvはExcelとの親和性、XMLは構造の自己記述性とか、それぞれ特徴あって、好きなの選べはいいじゃん。
今回の話はJSONが良さそうに思えるけど、他の選択肢、どんなのあるん?
0300nobodyさん
垢版 |
2020/07/19(日) 17:04:28.63ID:e8rhdkoY
>>298
たとえばusersテーブルに住所・電話番号を更新させるAPIをつくるとして、

1.住所・電話番号をそれぞれ2つのパラメータとして入力させる場合
住所・電話番号のチェックを行い、それから保存。
2.住所・電話番号を連想配列に格納したものを、json_encodeしたもので入力させる場合(パラメータ1つの場合)
decodeして1と同様のチェックを行う。更に追加でdecode後に要素の過不足が無いかもチェック。それから保存。

という感じで明らかにチェックしなければならないことが増えてしまう。
そして万が一追加チェックを忘れてしまうと、実装によっては脆弱性になりかねない。
0301nobodyさん
垢版 |
2020/07/19(日) 17:07:46.02ID:???
>>296
>>265はいまどきJSONでやり取りしているの?って言っただけであって
セキュリティのことは言ってなくないか?
0302nobodyさん
垢版 |
2020/07/19(日) 17:11:45.82ID:???
>>298
お前が挙げろよw
論破されたからってなりすましは良くないと思います
0303nobodyさん
垢版 |
2020/07/19(日) 17:16:52.56ID:???
>>300
頓珍漢すぎるでしょ、
content-type ヘッダを application/x-www-form-urlencode で指定して、
その中身は実はjsonだったって場合の話してるの?
そんな実装ありえたにし、そもそもバリデーションを通さないでしょ。

jsonの場合なんだから、content-type は application/json で送って処理させるでしょ。
なんで、jsonって言ってるのに x-www-form-urlencode で送るのww?
0304nobodyさん
垢版 |
2020/07/19(日) 17:21:56.83ID:???
>>300
curlで書くとこういうの想定してる?
curl "http://example.com"; \
-X POST \
-d "key={\"key\": \"param\"}" \
-H "Content-Type: application/x-www-form-urlencoded"
ありえないでしょ…
普通こうだよ。
curl "http://example.com"; \
-X POST \
-d "{\"key\": \"param\"}" \
-H "Content-Type: application/json"

そもそもミドルウェアレベルで弾く話だと思うんだけど、変な例ださないでよ。
0305nobodyさん
垢版 |
2020/07/19(日) 17:31:39.64ID:???
>>300
うわーそうきたか
確かにそれは誰も想定できないね
JSON危険厨はやっぱレベルが違う
0307nobodyさん
垢版 |
2020/07/19(日) 17:44:13.50ID:???
300の書きたかったことが304のようなことだったとして、結局inputに余計な要素が含まれていないかのチェックは実装によっては必須になるな。
0308nobodyさん
垢版 |
2020/07/19(日) 17:51:35.83ID:???
>>307
それいったらJSON関係ないね。
application/json ではそれが必要なのに
application/x-www-form-urlencode にしたら不要になるって話じゃないでしょ。

ちなみに、Laravelの場合は fillable か guarded 設定しないと、
(new User)->fill($request->all())
みたいなことはフレームワークレベルで出来ないから、そっちもあんま関係ないね。
0309nobodyさん
垢版 |
2020/07/19(日) 18:05:51.99ID:???
お前らJSONの脆弱性についてまったく理解してないんだな
さっきから的外れなこと言いすぎ
なんだろう俺とお前らの技術レベルの差がありすぎてまともな
議論にならないな
0310nobodyさん
垢版 |
2020/07/19(日) 18:09:33.30ID:???
>>309
アプリ設計者の想定外のデータが復元されうること以外になんかあったっけ?
0311nobodyさん
垢版 |
2020/07/19(日) 18:42:16.38ID:???
>>308
すまんどういうことだ?解説してくれ
0312nobodyさん
垢版 |
2020/07/19(日) 19:16:04.56ID:???
だから送信は普通にPOSTするって言ってるだろ
JSON使うのはサーバー→クライアントだけだって
0313nobodyさん
垢版 |
2020/07/19(日) 19:58:04.48ID:VC85Brcw
>>311
まず EloquentModel の fill メソッドは分かるよな?
もし分からなければ、それについてマニュアル読んでからきてくれ。

例えば >>300 のケースでシミュレータする
usersテーブルにinsertする為のUIがあったとして、
その入力結果をサーバーに送信する際、どんなフォーマットが適切(よりセキュア)なのかが今回の焦点。

>>300 が言っているのは
「パラメータ部分を
-d "user={"address": "東京", "tel": "08012345678"}"
にすると、request()->get('user') をjson_decodeした上で、userの中に余計な属性が無いことを担保しなくてはならない」
と言っている。
(クォーテーションのエスケープは省略するから脳内補完して欲しい)

で、担保する必要があるのは大体、Userモデルに対し fill($request->all()) するようなケース。
(今回だと $casts = ['user' => 'json'] で定義された fill(request()->get('user')) かもしれない。 )
担保するって言っても $fillable を定義すれば良いだけだが。

そんなフォーマットはありえないから置いておくとして、
実際によくあるのは下の2パターン。
-d "address=東京&tel=08012345678" -H "Content-Type: application/x-www-form-urlencoded"、
-d "{"address": "東京", "tel": "08012345678"}" -H "Content-Type: application/json"
で、余計な属性が無いか担保する場合は前者も後者も変わらない。
逆に、前者の場合は担保が必要なくなる言ってるのはそれはそれで問題だね。

書き方はLaravelで例えたけど言語やフレームワーク変えても書き方が変わるだけで考え方は同じ。
0314nobodyさん
垢版 |
2020/07/19(日) 19:59:56.65ID:VC85Brcw
>>312
だからお前が言う普通のPOSTって何だよ
curlで書いてみてくれ
0315nobodyさん
垢版 |
2020/07/19(日) 20:32:59.56ID:???
なんでcurlなんだよ
URLSearchParamsとかFormDataにappendしたパラメーターをaxiosに渡すような極々シンプルなPOSTだよ
0316nobodyさん
垢版 |
2020/07/19(日) 20:36:39.60ID:???
なんでcurlでかくのをそこまで拒むの?
本当は俺らの議論についていけてないだけじゃないのか?
0317nobodyさん
垢版 |
2020/07/19(日) 20:45:42.24ID:???
>>312
httpメソッドが何かなんて誰も焦点にあててないのに何で急にPOSTが出てきた?
0318nobodyさん
垢版 |
2020/07/19(日) 20:48:43.61ID:???
json_encodeやらjson_decodeって関数名が出てくるのがまずおかしい
0319nobodyさん
垢版 |
2020/07/19(日) 20:51:04.27ID:VC85Brcw
>>315
いや、curlじゃなくても良いんだけどね。
言語に依存しない点で例に適切だろうからcurlが良いなって思っただけだよ。

で、その場合はaxiosにjavascriptオブジェクトを渡してapplication/jsonをPOSTするのと比べてどう適切(セキュア)なの?
0320nobodyさん
垢版 |
2020/07/19(日) 20:57:12.29ID:???
ここまでの流れ
JSONは危険おじさん 「JSONは危険」
何が危険なのおじさん「何が危険なの」
JSONは危険おじさん 「パースする時が危険」
何が危険なのおじさん「何が危険なの」
JSONは危険おじさん 「危険なものは危険」
何が危険なのおじさん「危険な例をだせよ」
JSONは危険おじさん 「普通にPOSTするだけ」
0321nobodyさん
垢版 |
2020/07/19(日) 21:00:50.11ID:???
>>320
普通にPOSTするだけ は 何が危険なのおじさん の方だよ
0322nobodyさん
垢版 |
2020/07/19(日) 21:06:58.60ID:???
>>321
普通にPOSTするだけおじさんは「サーバー→クライアントにしかjsonを使わない」って言ってるよ
例もjsonじゃなかったし
0324nobodyさん
垢版 |
2020/07/19(日) 21:50:28.41ID:???
でも実際JSONは危険だよね
去年のやつだってJSONの解析処理を逆手にとって
顧客情報盗まれたわけだし
0325nobodyさん
垢版 |
2020/07/19(日) 21:52:06.48ID:???
そういえばLaravelの次期バージョンでフレームワークによるJSONサポートをなくそうかって話出てるね
多分この案は採用されないだろうけどさ
0326nobodyさん
垢版 |
2020/07/19(日) 22:24:21.27ID:???
>>325
とりあえずissue見てみたけど見つからん
どこに書いてあるの?
0327nobodyさん
垢版 |
2020/07/19(日) 22:34:45.18ID:???
結局「JSONは危険おじさん」による具体例と代替フォーマット無し
0328nobodyさん
垢版 |
2020/07/19(日) 22:37:52.63ID:???
ヘッダーとしてAuthorization: Bearerで認証トークンくっつけて送信しろボケナスくんたち
0329nobodyさん
垢版 |
2020/07/19(日) 22:37:59.98ID:???
>>324
去年の奴ってなんだよw
去年あった大きい事件で言えばセブンペイのパスワードリセットの件か?
JSONは関係無かったが
0330nobodyさん
垢版 |
2020/07/19(日) 22:53:21.30ID:???
微妙に違うおじさんが5人くらいいる気がする
0331nobodyさん
垢版 |
2020/07/19(日) 22:55:34.12ID:???
今はContent-typeにapplication/jsonを指定することの是非を話していて、
Authorizationヘッダは関係無いよ。
それともお前の頭の中ではAuthorizationヘッダにBearerトークンを指定するとなぜか急にJSONのパースがセキュアになんのかよw
■ このスレッドは過去ログ倉庫に格納されています

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