【PHP】フレームワーク CakePHP
■ このスレッドは過去ログ倉庫に格納されています
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/
0552nobodyさん
2007/08/16(木) 16:01:00ID:NGPKl3TMアルファとかベータとか、それがなんかあったのか?(笑)
0553nobodyさん
2007/08/16(木) 17:52:42ID:???0554nobodyさん
2007/08/17(金) 15:54:42ID:???【PHP】フレームワーク Akelos
http://pc11.2ch.net/test/read.cgi/php/1187333485/l50
0555nobodyさん
2007/08/17(金) 21:27:42ID:kJTYbdA8商品の検索などは非SSL、商品の購入時にはSSLと
非SSLとSSLをまたぐシステムがあります。
その場合の注意点として以下の記事を読みました。
http://kinshachi.ddo.jp/kurage/html/MT/comp/archives/000272.html
>
> 2つのcookieを使ってセッション追跡する
>
> ランダムに生成するセッションIDを、「secure 属性なし」のcookie(仮に名前を「session-id」)と「secure 属性付き」のcookie(仮に名前を「secure-session-id」)の2つ発行する。
> 2つのcookieはhttps://のアクセスでログインが成功したタイミングで発行し、どちらのセッションIDからでもユーザを特定できるようにしておく。
> SSLで保護すべき画面に http:// でアクセスできると、盗聴で盗み出した「secure 属性なし」のcookieを使って、重要情報にアクセスできてしまいます。
> そのため、SSLで保護すべき画面に対してhttp:// でアクセスできないようにする必要があります。
安全のためには上のようなことをしないといけないようなのですが、CakePHPではこれが
標準でサポート、もしくは簡単に実装できるような仕組みになっているのでしょうか?
0556nobodyさん
2007/08/17(金) 21:39:14ID:???0557nobodyさん
2007/08/17(金) 21:53:07ID:???0558nobodyさん
2007/08/17(金) 22:10:36ID:???0559nobodyさん
2007/08/17(金) 22:12:06ID:???なんでもいいから簡単に実現したいなら
サイト全体をSSLでしかアクセスできないようにすればいい。
0560nobodyさん
2007/08/17(金) 22:19:36ID:???サイト全体がSSLになっているオンラインショップは皆無。
そういう、ありえない解決策は、提案しても意味がない。
0561nobodyさん
2007/08/17(金) 22:20:38ID:???書いていないので、わからなくても普通。
反論しますか? なら証拠を。
まあ結果は見えていますからレスしなくていいです。
0563nobodyさん
2007/08/17(金) 22:30:13ID:???あなたの言い方は、それ以外だと全体がSSLではいと認めているようなものです。
0564nobodyさん
2007/08/17(金) 22:33:28ID:???探せばいくらでもあるよw
横浜そごう
https://www2.sogo-gogo.com/wsc-customer-app/page/511/dynamic/top/Top
0565nobodyさん
2007/08/17(金) 22:34:10ID:???https://www.beatport.com/
0566nobodyさん
2007/08/17(金) 22:38:46ID:???https://www.web171.jp/
0567nobodyさん
2007/08/17(金) 22:46:31ID:???× インターネットバンクのサイトだと
○ インターネットバンクのサイトだと
皆無というから反例をあげてるだけでしょ。
0569nobodyさん
2007/08/17(金) 22:56:46ID:???えーと。それは笑えば良いのか?w
httpsといいながら、httpでもアクセスできる。
どこからか経由(たとえば検索エンジン)でhttpでアクセスして
その状態でメール・パスワード入れたら、盗聴される。
まあ、たしかにセキュリティが弱いサイトはあるだろうねwww
0570nobodyさん
2007/08/17(金) 23:03:44ID:???その理由がわかる人は、サイト全体をSSLにしろとはいわないね。
0571nobodyさん
2007/08/17(金) 23:06:11ID:???全体をSSLにしろなんてどこに書いてあるんだ?
0572nobodyさん
2007/08/17(金) 23:07:34ID:???嘘は良くないだろ。
別に「SSLのみにしなさい」なんて一度も言ってない。
0573nobodyさん
2007/08/17(金) 23:09:39ID:???そっちが一般的だろ。
0575nobodyさん
2007/08/17(金) 23:11:09ID:???考慮されてないんじゃないのかな?
ドキュメントにも記述されてないし。
0576nobodyさん
2007/08/17(金) 23:18:22ID:???実際そういうサイトがクライアントに納品されるのをこの目で見てるしw
0577nobodyさん
2007/08/17(金) 23:23:54ID:EqsPdypkSSL限定でもいいんじゃね?って話になっちゃうんだよねえ。
それでいいならその方が実装楽だし。
0578nobodyさん
2007/08/17(金) 23:26:18ID:???0579nobodyさん
2007/08/18(土) 03:13:03ID:???ttp://www.jumperz.net/was.jsp
の5章セッション管理「HTTPとHTTPSが共存する場合のセッション管理」
に対策らしきものはかいてある。
Cakeに限らずそのあたり対策を実装しているフレームワークってあるの?
0580nobodyさん
2007/08/18(土) 03:29:47ID:???httpとhttpsが共存しています。
有名どころでhttps限定なんてサイト見たことがありません。
0581nobodyさん
2007/08/18(土) 08:20:23ID:???0583nobodyさん
2007/08/18(土) 09:51:18ID:???http://cakephp.jp/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=123&forum=3&move=prev&topic_time=1162418620
0584nobodyさん
2007/08/18(土) 10:09:37ID:???そのリンク先のリンク先を見ると、
SSLActionsで指定されたページをSSLページにするような
コードが掲載されているようだね。
つまり、CakePHPにはそういう機能が無いということになるのか。
単にhttpsのアドレスにリダイレクトしているだけみたいだけど、
ちゃんとセッションの引継ぎと>>555で示された
2つのcookieを使ったセキュアな移動をしているのか?
0585nobodyさん
2007/08/19(日) 00:48:53ID:SGQG+hwqたいした量のコードにならないから自分で書いてみればいいんじゃないの。
secureな方のcookieにhttpのsession id情報持たせておけば基本的に終わりじゃん
0586nobodyさん
2007/08/19(日) 09:08:19ID:???0587nobodyさん
2007/08/19(日) 12:03:31ID:???> secureな方のcookieにhttpのsession id情報持たせておけば基本的に終わりじゃん
違うぞ。セキュリティの勉強をしたほうがいい。
Amazonとかみればわかるように、商品をカートに入れるまではhttp
そのあと会計時はhttps。つまり一連の処理がhttpsだけで完結する処理ではない。
セキュアな方のクッキーにセッションIDを持たせた場合、
それをhttpで送ると盗聴されセッションハイジャックできてしまう。
だからhttp用ととhttps用と二つのセッションIDを使用することになる。
そしてサーバー内でその二つを紐付けしておかなければならない。
もちろんhttp用セッションIDは盗聴される可能性があるから
それを奪われても、その情報だけからhttps用セッションIDを取得できてはいけない
こういう複雑で汎用的な仕組みは、フレームワークレベルで実装されるべきものだ。
0589nobodyさん
2007/08/19(日) 15:10:14ID:TluxcOv3はあ?セッションidが別なの前提で書いてるのだが?
全然難しくないだろ。お前が勉強しろ
0591nobodyさん
2007/08/20(月) 00:21:09ID:???0592nobodyさん
2007/08/20(月) 00:27:51ID:???0593nobodyさん
2007/08/20(月) 00:28:08ID:???0594nobodyさん
2007/08/20(月) 00:31:32ID:???0595nobodyさん
2007/08/20(月) 00:41:36ID:???>Amazonとかみればわかるように、
別にAmazonは cookie専用じゃないよ。
0596nobodyさん
2007/08/20(月) 01:01:34ID:???たったいま
http://cakephp.org/screencasts/view/3
を見たんだが、Editが追加になってるし、最後AllDoneって言ってる割にindex.thtmlの中に/blog/へのリンクが残ったままとか問題ありまくりなんだが、これ公式なのか?
0598nobodyさん
2007/08/20(月) 04:19:47ID:???0599nobodyさん
2007/08/21(火) 00:38:42ID:jv21ywgR0600nobodyさん
2007/08/21(火) 22:50:35ID:???0602nobodyさん
2007/08/22(水) 00:38:46ID:???レン鯖の自分のスペースに置いて使えたり…する?
0603nobodyさん
2007/08/22(水) 01:30:49ID:???0604nobodyさん
2007/08/22(水) 19:44:09ID:???0605nobodyさん
2007/08/22(水) 19:57:55ID:HCjV3CA10607nobodyさん
2007/08/24(金) 11:52:50ID:???パッと見てみたが、
>Editが追加になってるし
addではなく、ちゃんとeditになっているようだけど。
>index.thtmlの中に/blog/
ルートが/blog/なので無問題。
0608nobodyさん
2007/08/25(土) 20:52:05ID:???内容は読んでないよう。
http://www.amazon.co.jp/dp/4896273567
0609nobodyさん
2007/08/27(月) 01:15:59ID:???その本どうしようかなぁ?
マニュアルのコピペとか言われてるけど
漏れがちょうど習得したいフレームワークはその3つやし
購入しようかどうかカナーリ迷う。
特にsymfonyはわかりやすい日本語マニュアルが少なく
他のフレームワークに比べて出来る事も多いが異常なまでにランニングコストが高いから
コピペでもわかりやすく書いてれば非常に助かるんだがね。
0610nobodyさん
2007/08/27(月) 03:02:22ID:???0613nobodyさん
2007/08/27(月) 11:02:16ID:???0614nobodyさん
2007/08/27(月) 11:03:59ID:???結構いい本だよ。日本語資料は少ないからね。
0616nobodyさん
2007/08/27(月) 16:22:48ID:ijRbnoqfモジュールを作る作業のみ。
OOPしてぇなぁ。
でもこの快感(フレームワークでの開発)を覚えると、めんどうなんだよな。はぁ。
0617nobodyさん
2007/08/27(月) 18:03:28ID:???0618nobodyさん
2007/08/27(月) 18:05:08ID:???0619nobodyさん
2007/08/27(月) 18:09:56ID:???0621nobodyさん
2007/08/27(月) 18:13:52ID:???0622nobodyさん
2007/08/27(月) 18:14:42ID:???だってさ、ビジネスロジックなんて単純な作業の塊だぜ?
継承とか使わないとやれない作業なんて存在しないよ。
オブジェクト指向なJavaだってさ、継承ごてごてで
使いづらくなったEJBを改め、POJOといって
継承を使わない(必須ではない)ただのクラスを使い始めた。
それでいいんだよ。シンプルでわかりやすい。
というわけで、OOPはフレームワーク自体を作るものだと思っています。
0623nobodyさん
2007/08/27(月) 18:45:34ID:???結論:たいていの場合、OOPはフレームワーク自体を作るものである。
0624nobodyさん
2007/08/27(月) 19:04:08ID:???0625nobodyさん
2007/08/27(月) 19:32:33ID:???0626nobodyさん
2007/08/27(月) 19:34:09ID:???それは突き詰めると型あり言語というものは
そういうものだからということになるんじゃないかな?
型あり言語の場合、コンパイル時に名前解決しちゃうから
名前間違いによるバグをコンパイル時に発見できる。
そして速いというメリットがある。そしてJavaは型あり言語。
その型あり言語の通常のやり方でやると、Controllerを作ろうとした場合
index,add,edit,viewなどの関数は基底クラスもしくはインターフェースを
オーバーライドすれば良いけど、そのほかの独自の名前の関数はフレームワークは
知らないから呼び出せない。それを呼び出すためにフレームワークに知らせる必要がある。
そのための処理や設定XMLファイルが・・・という感じなのだろう。
POJOはリフレクションという機能(関数群)を使ってオブジェクトにある関数を調べて
それを呼び出すことで継承なしに上手いことやっているわけだけど、
それは型あり言語のメリット(コンパイル時にバグ発見、速い)に反するものだった。
リフレクションはどちらかといったら開発・デバッグのための関数であり、
それを通常の処理に使用するという考えは長いこと禁断のテクニックだった気がする。
0627nobodyさん
2007/08/27(月) 20:30:28ID:???0628nobodyさん
2007/08/27(月) 20:55:57ID:???当然お前の負けだろうなw
0629nobodyさん
2007/08/27(月) 20:56:37ID:???0632nobodyさん
2007/08/27(月) 22:13:05ID:???もまえらオナニーでもしたのかい?
0633nobodyさん
2007/08/28(火) 02:04:49ID:???0635nobodyさん
2007/08/28(火) 02:37:25ID:???0636nobodyさん
2007/08/28(火) 09:03:23ID:???0637nobodyさん
2007/08/28(火) 12:42:40ID:???ぶっちゃけ、CakePHPは、難しいと思ってましたが、やっぱり難しいです。orz
0638nobodyさん
2007/08/28(火) 12:49:12ID:???一回慣れちゃえばいいんだろうけど、次の案件でまた使わない、で忘れる。
0639nobodyさん
2007/08/29(水) 11:47:30ID:???「難しいからできない」っていうのは、先入観とかでとっつきが悪いのが大半なんだろう
0640nobodyさん
2007/08/29(水) 12:31:12ID:???function beforeFilter()
{
$this->checkSession();
}
あれ、今日は、動く。 なぜだろう?
0642nobodyさん
2007/08/29(水) 14:16:01ID:???のような場合、
findAllなどのconditionにはどのような配列を書けばいいのでしょうか?
array('name' => 'like '.$word1,'name' => 'like '.$word2)
だと当然のように配列は上書きされてしまいます。
宜しくお願いします
0643nobodyさん
2007/08/29(水) 14:25:29ID:???http://api.cakephp.org/class_model.html#63ade7d3c6d03c83ab53a224e23ad9dd
Parameters:
mixed $conditions SQL conditions as a string or as an array
0644nobodyさん
2007/08/29(水) 14:48:27ID:???findAll("name LIKE $word1 AND name LIKE $word2")
と書いて良いと言う事ですよね。
ありがとうございました。
0645nobodyさん
2007/08/29(水) 16:08:03ID:???テーブルAに対してhasOneで定義したテーブルBと
テーブルBに対してbelongsToで定義したテーブルCがあるときに、
$this->テーブルA->findAll("テーブルA.name LIKE $word OR テーブルC.name LIKE $word")
のように一括では取得はできないのでしょうか?
これで作成されるSQLを確認すると、テーブルCがJOINされていないようです。
0646nobodyさん
2007/08/29(水) 16:10:52ID:???0647nobodyさん
2007/08/29(水) 16:37:13ID:???http://www.amazon.co.jp/dp/4896273567
のレビュー。CakePHPのところしかよんでない。約120ページ
CakePHP 1.2.0.5146alphaが対象
なんでもそうな気がするが、すでにガシガシやっている人には必要ない。
内容はわかりやすく広く説明している感じかな。
同作者(佐久嶋ひろみ さん)による別の本、「JavaScriptを書かないAjax」でも
書いているAjaxヘルパーの説明が多め(約30ページ)
1.2対象なのでFormヘルパーについて説明してある。(1.1ではHtmlヘルパーでやってた)
ほんの8ページだが、Formヘルパーでこんなコードを書くと、こんなHTMLが生成され、
POSTするとこういうデータが送られるって説明が良かった。
あとはHtmlヘルパー3ページ
0648nobodyさん
2007/08/29(水) 16:38:25ID:???postConditionsメソッドを知った。便利そう。
ってCakePHPの公式リファレンス(の日本語版)にものってるじゃん。見落としてたwww
scaffoldの説明は少ない。scaffoldマジックはネットで見てあきてるので
これはこれでいいかと。
アソシエートの説明が・・・ない!? いやまさかな・・・ゴクリ
しょっぱなから$useTable=falseで進めていくし、ひろみちゃんデータベース嫌いだろ?w
まあ、データベース使わないphpスクリプト作ってる人向けということで・・・
bake.phpのメッセージを解説している。英語が苦手ならどうぞ。
Validationの説明はあるのだが、1.2から強化された内容、
ユーザー定義のバリデーションの説明は(たぶん)無い。残念。
アクセス制限は独自DBを使った簡易なもの。ACLコンポーネントを使っていない。
サニタイズ・セッション・キャッシュ・コンポーネント・プラグイン・エレメントの
説明が数ページずつ。
最後に、間違っていたらごめんよ。
0649nobodyさん
2007/08/29(水) 16:59:03ID:???失礼しました。
今回は
$this->テーブルB->findAll("テーブルC.name LIKE $word")
$this->テーブルA->findAll("テーブルA.name LIKE $word OR テーブルB.id IN $id")
と2回問い合わせることにします。
0650nobodyさん
2007/08/29(水) 17:32:51ID:???recursiveで設定するんじゃないのか?
まだ使ったこと無いけど
それから、その書き方じゃSQLインジェクションの
脆弱性になるんじゃないのか?まだ検証して無いけど
0651nobodyさん
2007/08/30(木) 00:25:48ID:???手前味噌で申し訳ないですが
http://hogepiyo.net/archives/25
何かツッコミあったらお願いします
■ このスレッドは過去ログ倉庫に格納されています