【PHP】フレームワーク CakePHP 5ホール目【v1.2】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/12/19(金) 15:52:19ID:ylogT+7chttp://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
cookbook(マニュアル)
http://book.cakephp.org/ja
the Bakery
http://bakery.cakephp.org/
■日本語フォーラム
http://cakephp.jp/
■過去スレ
【PHP】フレームワーク CakePHP 4ホール目【v1.2】
http://pc11.2ch.net/test/read.cgi/php/1213892680/
【PHP】フレームワーク CakePHP 3ホール目【本命】
http://pc11.2ch.net/test/read.cgi/php/1205475360/
【PHP】フレームワーク CakePHP 2ホール目
http://pc11.2ch.net/test/read.cgi/php/1194976228/
【PHP】フレームワーク CakePHP
http://pc11.2ch.net/test/read.cgi/php/1163850802/
0423nobodyさん
2009/01/16(金) 22:39:12ID:???どうやってエンコはさめばいいの?
本体のコード見て解析してエンコードはさむくらいしか思いつかないんだけど。
0424nobodyさん
2009/01/16(金) 22:42:13ID:???0426nobodyさん
2009/01/16(金) 22:49:09ID:???メールのエンコードも完璧なFWをさ
0427nobodyさん
2009/01/17(土) 10:19:42ID:???0428nobodyさん
2009/01/17(土) 11:36:23ID:???# If you are using AuthComponent without SecurityComponent you should update to CakePHP 1.2.1.8004 asap (gwoo)
だってさ
0429nobodyさん
2009/01/17(土) 11:38:12ID:???http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
0431nobodyさん
2009/01/17(土) 14:40:37ID:???これはいいね。早速プリントした。
あと、毎回html->linkの何番目をfalseだっけ?ってマニュアル見なきゃならん俺のために
付属のヘルパー分もお願いしたい。
0432nobodyさん
2009/01/18(日) 11:31:02ID:???http://groups.google.com/group/cake-php/browse_thread/thread/659682805f3d71d7
Essentially, an attacker may be able to obtain credentials as the first user of the system.
If you are interested in testing your site, you can use the SQL Inject Me plugin
for Firefox
0433nobodyさん
2009/01/19(月) 16:13:21ID:???確認画面いって入力画面に戻るとハッシュ化されたものがパスワードのとこに入る
そしてまた確認画面に行くと再度ハッシュ化される
登録されるのは2度ハッシュ化されたデータ
当然認証は通らない
これはどうすれば?
0434nobodyさん
2009/01/19(月) 16:21:13ID:???0435nobodyさん
2009/01/19(月) 16:23:37ID:???0436nobodyさん
2009/01/19(月) 17:12:40ID:???formへるぱーで'value'=>false指定すればよろし
0437nobodyさん
2009/01/19(月) 17:15:56ID:???既にハッシュ化してるんだからそのまま入れてもセキュリティ上問題無いのに
ハッシュ化されていれば再ハッシュ化は行わないようになってくれてたら良かった
フォームのパスワードの初期値と送信されたデータが同じだったらハッシュ化はしない
とするだけで出来たはずなのにな
0438nobodyさん
2009/01/19(月) 17:38:24ID:???ハッシュ化のタイミングでセッションは既に今送信されたデータに書き換えられてて
元あったものとの比較が出来なくなってる
これ以上手間が要るならめんどくさいなー
0439nobodyさん
2009/01/19(月) 17:45:57ID:???0440nobodyさん
2009/01/19(月) 18:11:18ID:???どういう仕様になってるんだろ
passwordフィールドはハッシュ化されるが
password_confirmはハッシュ化されない
おかげで確認画面にいってから戻るとパスワードが違うと言うエラーが出る問題も絡んでくる
0441nobodyさん
2009/01/19(月) 18:17:05ID:???passwordもpassword_confirmも同様にハッシュ化して
フォームの初期値から変更がなければハッシュ化は行わない、
と言う設計にすべきだと思う
でもこれをやるには今のAuthコンポーネントの仕様からじゃだいぶ手間がかかる
0442nobodyさん
2009/01/19(月) 18:26:26ID:???Authの自動ハッシュ化を無くして
手動でハッシュ化するのが一番楽だわ
0443nobodyさん
2009/01/19(月) 19:02:35ID:???0444nobodyさん
2009/01/19(月) 19:20:43ID:???自動ハッシュ化止めてセーブ時とログイン時にハッシュ化するようにしたらできたくせえ!
0445nobodyさん
2009/01/19(月) 22:36:21ID:???name="raw_password"
name="raw_password_confirm"
にしといて、
validateでは、
raw_passwordとraw_password_confirmを比較
saveの前にpassword = raw_passwordしとくのは?
0446nobodyさん
2009/01/19(月) 22:42:10ID:???コンポーネントに手入れ無くて良いし
でもAuthで暗黙的にハッシュ化されるわりにそれを意識したコーディングになってるから
違和感はあるけどね
それなら明示的に書く方が、とおもう
0447nobodyさん
2009/01/20(火) 00:34:26ID:???0448nobodyさん
2009/01/20(火) 00:36:53ID:???普通再入力の際にはパスワードは消えてるでしょ
0449nobodyさん
2009/01/20(火) 02:09:06ID:???ビューからアクションを呼び出す事って出来ないのかな?
0450nobodyさん
2009/01/20(火) 02:15:23ID:???0451nobodyさん
2009/01/20(火) 02:47:07ID:W42hdWVLiis,oracle,php5インストール後、
cakePHP入れて、ブログのチュートリアルやってんだけど、
ビュー作って確認するところのテーブル一覧表示で日本語データが表示されません。
半角英数ですと表示されます。数値、日時も問題なく表示されています。
db内には、正しい全角データが入っているのですが、
なぜでしょう?
0453nobodyさん
2009/01/20(火) 02:50:47ID:W42hdWVL両方、utf8です。
0454nobodyさん
2009/01/20(火) 03:21:49ID:???0456nobodyさん
2009/01/20(火) 13:54:45ID:???phpのinternal_encodingとかその辺の設定確認
あとcakeを介さず直接接続→出力が文字化けするか否か確認
0458nobodyさん
2009/01/20(火) 16:57:25ID:???0459nobodyさん
2009/01/20(火) 17:03:38ID:b4+xy3zg0460nobodyさん
2009/01/20(火) 17:07:06ID:???0461nobodyさん
2009/01/20(火) 17:13:23ID:???0462nobodyさん
2009/01/20(火) 17:41:48ID:???非常に分かりやすくなった
0463nobodyさん
2009/01/21(水) 01:59:22ID:???webルートにアクセスすると、一応/users/loginへ
リダイレクトされるんだけど、そこでurlを/users/indexって
書き替えると、ログインしてなくてもユーザーの一覧が
見えてしまう。(´・ω・`)
0464nobodyさん
2009/01/21(水) 05:54:40ID:???0465nobodyさん
2009/01/21(水) 10:09:05ID:???Controllerには許可する方を書くわけだから不要だと思う
>>463
ほかのControllerでも同じ症状なら、scaffoldが原因だろうけど、、、
0466nobodyさん
2009/01/21(水) 10:42:49ID:???やっぱ、scaffoldが原因かなぁ。
ちゃんと全部自分で書かないとダメか。
0467nobodyさん
2009/01/21(水) 10:48:54ID:???この問題にぶちあたって、結局1から書くことになる
すべてのactionを
0468nobodyさん
2009/01/21(水) 10:55:35ID:???beforeFilter()でaction名を見て、適宜login()に飛ばしてみたら?
0469nobodyさん
2009/01/21(水) 11:01:21ID:???// リダイレクト
}
0470nobodyさん
2009/01/21(水) 11:34:17ID:???scaffoldを使わないのが正しいやり方だと思う。思うけどね。
0471451
2009/01/21(水) 16:59:21ID:???>>456
> >>451
> phpのinternal_encodingとかその辺の設定確認
この辺りの設定も甘い所がありましたが、utf8で調整するも変わりませんでした。
で切り分けるためにも下を行ったのですが・・・。
> あとcakeを介さず直接接続→出力が文字化けするか否か確認
直接データもらうと、sjisで出力されてきて意味がわからず悩みました。
知っている人はなんでもないんでしょうけど。
で、結構な時間を費やしDBからデータ出力の時点があやしいとなり、
いろいろググってたら判明!
CAKEインストの時のDB設定で文字コード設定があることがわかり、
(設定した時は、どこぞのブログの設定をコピペしてきたんで文字コードを
設定している意識がなかったorz)確認するとsjisになってた、でこれをutf8へ
指定して、cakeの問題無くDBデータが表示されることが確認出来た。
で、ここで疑問が直接もらうとなぜSJISでもらうのか、
恐らくcakeでsjisからutf8へ文字コード変換してることになるんだと思うけど、
結局、oracleが出力文字コードを変えるようで、OSの環境変数を設定して、
NLS_LANG=JAPANESE_JAPAN.AL32UTF8
問題無く直でもutf8で出力されることを確認。
ふー時間くったー。
途中oracleの調子が悪くなって、再インストに見舞われるし。
チュートリアルを進めよう〜。
0472nobodyさん
2009/01/21(水) 17:57:23ID:???へぇ〜、いまはOracleでもまともに動くんだなぁ。
2年位前はDBO周りがバグだらけで使い物にならなかったけど。
0473nobodyさん
2009/01/21(水) 20:17:56ID:???機能制限みたいなものはACLでやるんだけど
同じ機能でもオブジェクトのidによって変わる、みたいなのもACLでやるべきなのかな?
0474nobodyさん
2009/01/22(木) 01:10:40ID:???親モデルの奥に配置するにはどうすればいい?
Model1->find('all',array(
'contain'=>array(
'Model2'
)),
結果:
array(
[0]=>array(
[Model1]=>array(),
[Model2]=>array(),
)
)
0475nobodyさん
2009/01/22(木) 10:29:14ID:???0476nobodyさん
2009/01/22(木) 12:48:42ID:???どのあたりのソースを見ればよいのでしょうか?
/app/config/database.php.default
に接続情報がありますが
これらの情報を使用して接続している部分あたりを見たいです
0477nobodyさん
2009/01/22(木) 12:53:15ID:???cake/libs/model/datasources
cake/libs/model/datasources/dbo
あたりかな
0478nobodyさん
2009/01/22(木) 12:54:16ID:???接続に言ってる所と言うのならその下のdatasources/dboの下
0479nobodyさん
2009/01/22(木) 15:44:55ID:???みんなはDBスキーマはどうやって管理してる?
前スレを見たら少し話題になってたけど、なんかgdgdに終わってた。
0480nobodyさん
2009/01/23(金) 00:16:41ID:???二重投稿防止しようとしてるんだけど全然防止できない
saveした後に明示的にセッションからトークン消してやればうまくいくんだけど、
皆様方そんなことをしている様子はないし
http://www.1x1.jp/blog/2006/12/cakephp_csrf.html
やってることはほぼこのまんま
1.2なんで$formでフォーム生成してるのが違うくらい
フレームワーク使ってるってのに全然サクサク感がねぇー
0481nobodyさん
2009/01/23(金) 02:23:23ID:???とりあえず、普通にSQLでやってる。
create_tables.sqlとか適当なファイルにcreate table文まとめてる。
で、Subversionで管理。
ほんとは、マイグレーションあると便利だけどね。
こんな感じの使い方ができるPHPスクリプトを作ればいいんだけど、
面倒だからやってない。でも、そのうちやるつもりw
php rake.php db:migrate
php rake.php db:migrate VERSION=3
php rake.php db:create
php rake.php db:drop
0482481
2009/01/23(金) 02:38:24ID:???知らなかったわ。
今度試してみよう。
0483nobodyさん
2009/01/23(金) 04:06:53ID:???マニュアルのauthコンポーネントとACLのページを少ないから読んで見るといいかも
単純なログイン後とログインして無いとかならauthでいける
0484nobodyさん
2009/01/23(金) 07:29:32ID:YSArohX3一番新しいcreatedのデータを取得したりとかって、簡単にできますか?
やり方があれば、教えてください。
0486nobodyさん
2009/01/23(金) 10:46:31ID:???自分もこういうのを見つけていた。まあ「cakephp migration」でググっただけ
だけど。
"CakePHP migration" フォーラム - CakePHP Users in Japan
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1176&forum=3
CakePHP のおいしい食べ方: DBマイグレーションか、DBスキーマシステムか
http://cakephp.seesaa.net/article/97882341.html
誰か使っている人いないかな。
0488nobodyさん
2009/01/24(土) 16:41:32ID:???/document_root/siteA/ 配下と
/document_root/siteB/ 配下でわけたい。
siteA 配下は 教師モデルを対象に認証済みのユーザーはアクセス可能とし、
siteB 配下は 生徒モデルを対象認証済みのユーザーを対象にする。
当然、教師認証済みであってもは siteB にはアクセスできず、生徒は認証済みであっても
siteA にはアクセスできない
みたいな事がやりたいんですが。。。
0489nobodyさん
2009/01/24(土) 16:51:08ID:???0490488
2009/01/24(土) 17:14:12ID:???がんばって読んでみたんですが、そもそもユーザー認証を行なうモデルが異なる場合は
対応できないように思いました。
今回は、教師と生徒で登録されているテーブルが違うのでログインページも教師用と生徒用があります。
教師は siteA/login.php にて。生徒は siteB/login.php にて認証します。
で、教師でログインした場合は siteA 配下のみアクセス可能。生徒でログインした場合は siteB のみ
アクセス可能としたい。
かっこ悪いすが、サブドメインきって cake そのものを2通り用意したほうが簡単かもしれないと思ってしまいました。
何かよい方法があればいいな、と。
0491nobodyさん
2009/01/24(土) 22:19:27ID:???0492nobodyさん
2009/01/24(土) 22:20:11ID:???プログラマーのやり方じゃない
0493nobodyさん
2009/01/24(土) 22:44:47ID:???初心者がcakeのソースなんて追え無いんだから。
0495nobodyさん
2009/01/25(日) 11:58:58ID:???お前らのコントローラーの行数は最大でどの位ですか。
0496nobodyさん
2009/01/25(日) 12:03:41ID:???0497nobodyさん
2009/01/25(日) 19:50:45ID:???CakePHPの命名規則って、かなりでたらめ?
0498nobodyさん
2009/01/25(日) 21:22:02ID:???一つのクラス(コントローラー)の行数を短くしろとは
あまり聞かない。
0499nobodyさん
2009/01/25(日) 23:34:20ID:???「CakePHPポケットリファレンス」の命名規約(p.406-408)で
「これ、おかしんじゃない」のワースト3を教えて。
ttp://book.cakephp.org/ja/complete/22/CakePHPの規約
0500nobodyさん
2009/01/25(日) 23:37:01ID:???なんか楽しいw
0501nobodyさん
2009/01/26(月) 00:04:38ID:???コントローラーの命名規則
英単語の単数形+"Controller" って書いてるのに、例が PowerUsersController
モデル名+"_id"って書いてるのに、例がpower_users_id
あとある?
0502nobodyさん
2009/01/26(月) 01:11:31ID:???コントローラの命名規約
○クラス名 英単語の複数形+"Controller" PowerUsersController
テーブルとカラムの命名規約
○外部キー モデル名+"_id" power_user_id、article_id
(モデル名は単数形だよね。)
修正しました。
0503nobodyさん
2009/01/26(月) 10:35:54ID:???$form->create('User');
で作っていたとしたらどういう変数名・配列構造でセットすればいいの?
0505nobodyさん
2009/01/26(月) 12:24:49ID:j8WtT0GU1.2.1.8004へアップデート推奨らしいぞ。
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1696&forum=1&post_id=4032#forumpost4032
http://www.pseudocoder.com/archives/2009/01/22/cakephp-digest-6/
0506nobodyさん
2009/01/26(月) 13:21:32ID:???0508nobodyさん
2009/01/26(月) 16:40:15ID:j8WtT0GU0509nobodyさん
2009/01/26(月) 20:39:14ID:???マニュアル見ても、よく分からん。
0511nobodyさん
2009/01/26(月) 23:57:03ID:???よくわからんままやったら、
フィールド消えたわ
まじか、これ
0512nobodyさん
2009/01/27(火) 10:11:27ID:???0513nobodyさん
2009/01/27(火) 11:51:11ID:???testsuiteの解説がガイドブックとかに無いし、
web上にもあんまり情報が無いので、よくわからん。
でも。simpletestをインスコしたら、bakeの際に
いろいろ聞かれなくなったのは楽だな。
0514nobodyさん
2009/01/27(火) 12:20:04ID:???設置 URL が example.jp/t/ の時、tests というコントローラにアクセスしようと、
http://example.jp/t/tests/ ってやると、http://example.jp/t/ests/ に勝手になってしまって
Error: EstsController could not be found.
となります。 t に限らず webrootが1文字で とコントローラの最初の一文字が同じだと
上記のようになると思いますが、何か注意するところはありますか?
0515nobodyさん
2009/01/27(火) 12:32:20ID:???http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1706&forum=6&post_id=4025#forumpost4025
これと同じかな
0516nobodyさん
2009/01/28(水) 11:36:58ID:AHb2WVE2どうすればいいのでしょうか?
php直ですと日本語テーブル名でクエリは通ります。
0517nobodyさん
2009/01/28(水) 12:33:02ID:???とりあえず、認識した。
0518nobodyさん
2009/01/28(水) 18:06:35ID:???testって、データを入れて出して一致してるか確認してるんだって事が
ようやく少し分かった。
0519nobodyさん
2009/01/28(水) 18:29:34ID:???別に日本で使うシステムなら問題ないんだけどな
Oracle/Access+VBのシステムなんかよくあるし
PHPだって変数名ですら全角文字でもOKなんだし
0520nobodyさん
2009/01/28(水) 19:00:41ID:???全角って、そんなに変じゃないの?
bakeする時に日本語で全部作ってくれると楽そうだなーって思ってた。
多言語化を考える必要なんて全くない物を作るのにi18nすら面倒で、
ソースに日本語のエラーメッセージを書いてやろうと思ってた。
0521nobodyさん
2009/01/28(水) 19:02:34ID:???0522nobodyさん
2009/01/28(水) 19:04:55ID:???海外製のライブラリは対応出来てないものが多いし
結局、全角ゴリ押しは開発者側に負担を強いることが多いよ
プロジェクト内で使う環境を全部調査して、誰にも迷惑かけないと判明したら使えばいいと思うけど
■ このスレッドは過去ログ倉庫に格納されています