トップページ⇒php
987コメント299KB

【PHP】フレームワーク CakePHP

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2006/11/18(土) 20:53:22ID:???
おら、とうとうガマンできなくて立てちまっただ

本家
http://www.cakephp.org/

10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/

マニュアル日本語化
http://www.cakephp.jp/doc/

日本語フォーラム
http://cakephp.jp/modules/newbb/

あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/
0930nobodyさん2007/10/28(日) 22:46:21ID:???
Amazonから届かんぞーーーー
0931nobodyさん2007/10/28(日) 22:49:07ID:???
「アマゾ・・」
ピンポーン
0932nobodyさん2007/10/28(日) 23:07:44ID:???
>>930

きのう届いたよ
0933nobodyさん2007/10/28(日) 23:09:53ID:???
1.1のときはcake/scripts/ で php bake.php をやるとCAKEPHPっていうのが出てきて対話に入ったんですけど、
1.2 pre-betaにしてからbake.phpの場所が変わっていたので cake/console/libs で php bake.phpをしても何も表示されません。

ほかに何か変更になったんでしょうか?
0934nobodyさん2007/10/29(月) 02:13:31ID:???
1.2からは、cake bake だよ。

cakeコマンド自体は、/cake/consoleにあるが、
実行する場所は、/app にいることが想定されていると思う。
なぜなら、なんのオプションもつけずに、/app/venders/shells/に作った
独自のスクリプトを読むためにはここにいなければいけないから。

だから、俺は環境設定のPATHに、/cake/consoleを追加している。
0935nobodyさん2007/10/29(月) 14:18:29ID:???
pre-betaになってから$form->createが変わったな。
なぜか知らんが、$this->params['controller']があると、
それを優先的にモデルに設定してしまう。
https://trac.cakephp.org/browser/trunk/cake/1.2.x.x/cake/libs/view/helpers/form.php?rev=5811#L160
/post/view/1を表示しているときに/comment/addとかにactionが
設定できなくなった。
0936nobodyさん2007/10/29(月) 14:53:23ID:???
>>935
'url' => array('controller'=>'comment', 'action'=>'add')
とかoptionsに入れればいいんじゃないの?
それでダメと言う話?
0937nobodyさん2007/10/29(月) 16:33:09ID:???
>>936
あー、optionsをそう書くのか。
前は
$form->create('Comment', array('action'=>'add'))
でいけてたはずなんだけど。
0938nobodyさん2007/10/30(火) 00:17:43ID:???
>>934

さんくす。

php cake/console/cake.php bake

で、うまくいった。
0939nobodyさん2007/10/30(火) 00:46:08ID:???
グループごとにログインする場所って分けた方がいいんでしょうかね?
0940nobodyさん2007/10/31(水) 00:16:45ID:???
cake本をぱらっと見たけど、1.1向けなのね。
pre-betaも出たし、なんかタイミング悪い。
これなら前に出たPHPフレームワーク本の方がいいかも。
購入は1.2に改訂されるまで待ちかな。
0941nobodyさん2007/10/31(水) 02:13:47ID:???
1.2に改訂とか出ても相当かかるだろ。
0942nobodyさん2007/10/31(水) 16:03:44ID:???
1.2って仕事でつかっちゃっても大丈夫な位には出来てますか?
0943nobodyさん2007/10/31(水) 17:07:27ID:y/Xrur+h
本かってみたー。

cakephp1.1で作ってるので個人的には今まで出た本の中では良いと思う。
なにせcakephp1.1使ってますから。

ただ、文字が多すぎ。カラーで出してくれたら嬉しかったなと思う。
0944nobodyさん2007/10/31(水) 17:35:10ID:???
でも薄っぺらい本よりはいい
0945nobodyさん2007/10/31(水) 17:38:10ID:???
漫画じゃないと認めない
0946nobodyさん2007/10/31(水) 22:44:43ID:???
もうちょっと具体的なのがあるとよかったね

半分くらいはまとめただけって感じなのが…

もうちょい実践で使えるノウハウがほしいなあ

入門書としては悪くないと思う
0947nobodyさん2007/10/31(水) 22:47:25ID:???
そう感じたらRailsへの移行時だな
0948nobodyさん2007/11/01(木) 00:36:06ID:???
おれはrailsからcakeにきた
0949nobodyさん2007/11/01(木) 01:32:04ID:???
なぜ?
0950nobodyさん2007/11/01(木) 03:19:40ID:???
phpのほうが楽じゃね?
0951nobodyさん2007/11/01(木) 11:57:40ID:???
単純にRubyに対応している共有サーバーが少ないからだな。
もちろん専用サーバーならなんでもありだけど、
それならJavaでいいんじゃね?という感じだし。
0952nobodyさん2007/11/01(木) 12:52:33ID:???
だな、オレくらいしょぼいプログラマだと、
PHPしか需要がねーよ orz
0953nobodyさん2007/11/01(木) 17:14:54ID:???
tagErrorMsgってリダイレクトすると消えちゃうんですが、
これってSessionとか使って記憶しておく事とかできませんか?
0954nobodyさん2007/11/01(木) 20:53:29ID:40qfpM4a
ちがった。
別の作って見たらちゃんとRedirect後もエラー表示されてる。

「リダイレクトするとtagErrorMsgの表示が見えなくなったんですが、
どなたか原因わかりませんか? 」

に質問を買えます。
お願いします。
0955nobodyさん2007/11/01(木) 21:27:48ID:???
ちがった・・
エラーの後のリダイレクトは駄目なんですね
質問取り下げます。失礼しました。
0956nobodyさん2007/11/03(土) 15:26:30ID:???
ユーザ登録系で簡単な方法って無い?
メール返して本人確認するみたいな・・
0957nobodyさん2007/11/03(土) 17:59:33ID:???
>>956
前に探したけど、特になかった気がするなあ。

Postされる情報の中にidが含まれていると任意のidが
設定できちゃうのね。
いちいちnullを入れるのがめんどくさい&不安なんだけど
みんなどうやって解決してる?
0958nobodyさん2007/11/04(日) 00:16:12ID:???
自由に投稿されてはいけないなら、何らかの認証機構を付けるべきなんじゃない
0959nobodyさん2007/11/04(日) 01:40:38ID:???
idいれなきゃいいじゃんw
nullもいらないじゃんw
0960nobodyさん2007/11/05(月) 04:20:02ID:bzvMK5G5
DOCUMENT ROOT以下しか触れないときのファイル配置のお手本ってどっかにないですか?
僕はとりあえず全部DOCUMENTO ROOT直下にそのまま配置して、cakeとかappとかには直接アクセスできないように.htaccessで設定してるんですがそれで十分なのか不安なんですが。
(あとweb_rootが下の階層にあるのがデザイナーさんに気持ち悪がられる)
0961nobodyさん2007/11/05(月) 04:27:55ID:???
webrootとコアを別のディレクトリにわければいいんじゃ
0962nobodyさん2007/11/05(月) 16:55:08ID:???
>>960
http://massat.jp/2007/01/08/110
この辺参考にしたら?
dorument_root/
にwebroot突っ込んで
document_root/cake
にコアを入れて
で、cakeディレクトリはアクセス制限。
って感じで
0963nobodyさん2007/11/07(水) 16:56:26ID:???
>>958
んー、例えばSNSの日記とかで/diaries/read/$idみたいなURLの場合。
悪意のあるだれかが日記を投稿するときにidをPostに含めて投稿した場合、
オートインクリメントが無効になって、いきなりidが飛んじゃう。
0964nobodyさん2007/11/07(水) 20:37:33ID:???
そうならないように作ればいいだけじゃね?
0965nobodyさん2007/11/07(水) 23:41:09ID:???
>>660
0966nobodyさん2007/11/08(木) 02:15:59ID:???
>>965
ほほー。
これでまあなんとかマシにできるかも!
0967nobodyさん2007/11/08(木) 04:05:21ID:???
いちいちそれやるのめんどくせーから
app_controllerにそれ用の関数書いとくというのはありですか?
0968名無しさん@Vim%Chalice2007/11/08(木) 14:05:02ID:???
好きなの選べ

プラン1
app_modelでsave()をオーバーライドして
idを指定してきてたらidがデータベース上に存在するかチェックする

プラン2
controllerごとに$whitelistの配列を定義。
app_controllerのコンストラクタで$this->actionを見て、
editだったら$whitelistにこっそりidを付加

プラン3
save()で統一するメリットなんてたかが知れてるんだから
もういっそadd()とかedit()とかのラッパーを作ってmodel側で完結

プラン4
ママに頼む
0969nobodyさん2007/11/08(木) 14:37:50ID:???
>>968
プラン4でうまく動きました。
ありがとうございました。m(*_*)m
0970nobodyさん2007/11/08(木) 14:44:38ID:???
idだけじゃなくて、createdとmodifiedも、ほぼ間違いなく存在するフィールドだから
推測されやすいし、ポストされるとまずいよね。
その辺を考えると>>968のプラン2が一番いいのかなあ。

この問題について言及しているブログとか見つからないんだけど、
みんなどうやって解決しているのかね。
もしかして普通にセキュリティホールになってたりするのか?
0971nobodyさん2007/11/08(木) 15:50:07ID:???
別にセキュリティホールにはならないと思うが?
単に、createdとmodifiedが編集可能フィールドになるってだけで。
0972nobodyさん2007/11/08(木) 16:44:49ID:???
みんなどうやってログイン状態保持するようにしてる?

「情報を保存する」オプションを有効にする(CakePHP修行 #34) | IDEA*IDEA
http://www.ideaxidea.com/archives/2007/07/cakephp_34.html
これを見ると、
usersテーブルに、ユーザーごとのhashを保存
↓
ログイン時に「保持する」にチェックが入っていたら、hash値をcookie発行
↓
ログインチェック時にcookieを見てhash値があったら、それでログイン。
って感じの処理をやっているんだけど。
なんでこんなことをやっているのかわからない。

sidをcookie発行しちゃだめなの?
0973nobodyさん2007/11/08(木) 17:05:29ID:???
セッションID 固定化
でぐぐる
0974nobodyさん2007/11/08(木) 21:38:53ID:???
>>973
CakeってSession Fixation対策はある程度されているような。
少なくとも?CAKEPHP=1234みたいなのは効かないと思うんだけど。
0975nobodyさん2007/11/08(木) 21:57:56ID:???
セッション固定化は問題
↓
セッション固定化しないようにした
↓
そんなsidをcookieに保存しておくのか?
0976nobodyさん2007/11/09(金) 03:59:48ID:???
bakeで吐き出されるコードの
delアクションって最悪だな。
アドレスにアクセス(GET)しただけで削除される。
普通こういうのはPOSTを使って削除するもんだろ。
0977nobodyさん2007/11/09(金) 14:17:29ID:???
bakeは使わないのが基本とどこかで見たから、それ以来全然触ってない。
普通に書けばいいんじゃね?
0978nobodyさん2007/11/09(金) 17:07:22ID:???
>>975
sidをcookieで保存しておくとどういう攻撃が想定されるかわからないんだけど、
すまんが攻撃名だけでも教えて貰えないか。
0979名無しさん@Vim%Chalice2007/11/09(金) 17:07:32ID:???
1.2prebataで搭載されたRESTルーチングを試してはいかが
0980名無しさん@Vim%Chalice2007/11/09(金) 17:13:33ID:???
たいぽってた
誤)prebata
正)predator
0981nobodyさん2007/11/10(土) 02:09:58ID:???
攻撃も何も、不定期に変化するsidをcookieに保存しておいても
次回アクセスされたときにcookieから取り出したsidが
有効である保障はないだろう?
0982nobodyさん2007/11/10(土) 09:54:00ID:rF2PTWzY
セッションにユーザ情報を格納して、
app_controllerでログインチェックしてるんですが、
Sleipnirでぶちぶちセッションがきれてしまいます。
他のブラウザでは問題ないです。
1.2.0.5427alphaでも1.2.0.5875pre-betaでも同じ現象が発生します。
だれか同じ現象ではまった人はいませんでしょうか?
0983nobodyさん2007/11/10(土) 11:42:36ID:???
CAKE_SECURITYが"high"なんじゃね?
ttp://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&topic_id=817&forum=9
1.1の記事だが役に立つかな?
0984nobodyさん2007/11/10(土) 14:00:36ID:???
俺もhighじゃなくてmediumで運用するようにしてる。

>>981
sid更新ごとにcookie発行すれば大丈夫のような。
どこか違うPCからログインした場合は再ログインが必要になるけど、
>>972みたいな固定値でやるよりよっぽどいい気がする。
09859822007/11/10(土) 17:13:00ID:rF2PTWzY?2BP(0)
983>>
情報提供ありがとうございます。
mediumに設定しましたが、状況かわらずでした。
困りました・・
0986nobodyさん2007/11/10(土) 20:29:07ID:???
とりあえず、まっさらな状態の
Cakeを動かして同じ現象が起こるかレポしてくれ
0987nobodyさん2007/11/11(日) 10:03:47ID:???
Sleipnirの設定がクッキーOFFになってんじゃね
レス数が950を超えています。1000を超えると書き込みができなくなります。