Submit Search
20120307 CakePHP Study in Tokyo
2 likes
1,341 views
ichikaway
1 of 33
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
More Related Content
PDF
CakePHP最新情報 PHPカンファレンス関西2012
ichikaway
PDF
CakePHP 1 to 2 Migration tips 100
ichikaway
PDF
Customize CakePHP bake
Kazuyuki Aoki
PDF
behatエクステンションの作り方
Ryo Tomidokoro
PDF
Ruby on Rails Tutorial
Ken Iiboshi
PPT
Gaej Explorer
katsu.taira
PDF
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
BIGLOBE Tech Talk
PDF
NetBeansではじめる FuelPHP
Junichi Yamamoto
CakePHP最新情報 PHPカンファレンス関西2012
ichikaway
CakePHP 1 to 2 Migration tips 100
ichikaway
Customize CakePHP bake
Kazuyuki Aoki
behatエクステンションの作り方
Ryo Tomidokoro
Ruby on Rails Tutorial
Ken Iiboshi
Gaej Explorer
katsu.taira
開発エンジニアがChefで テスト駆動サーバー設定してみた #biglobetechtalk
BIGLOBE Tech Talk
NetBeansではじめる FuelPHP
Junichi Yamamoto
What's hot
(20)
PDF
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
suno88
PDF
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 環境準備編
Toshimichi Suekane
PPTX
<第1回>Laravelハンズオンセミナー
Tatsuyoshi Mashiko
PDF
20091030cakephphandson 01
Yusuke Ando
PDF
Chefで作る開発環境
regret raym
PPT
Shibuya Pm Tt08 Advanced Mogilefs
guest172cfb
PPTX
Aizu.LT::Tokyo #4
Taku Unno
PDF
Laravel5を使って開発してみた
Takeo Noda
PDF
React入門-JSONを取得して表示する
regret raym
PPTX
20111006 cakephp2.0 study
gusagi
PPT
Jenkinsプラグイン開発
Takahisa Wada
PDF
REACT & WEB API
Shigeru Kondoh
PDF
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
Toshimichi Suekane
PPT
Cakephp tokyo5
ichikaway
PPTX
今、最も勢いのあるWebフレームワーク「fuel php」
Soudai Sone
PPTX
Alfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしよう
Tomomi Kawabe
PDF
NetBeans plugin for wordpress
Junichi Yamamoto
PPTX
Fuelphp1.8を始めたい
運営 sollastudio
PDF
明日から使えるgradle
kimukou_26 Kimukou
PDF
Cakephp2.1 ViewBlock view-inheritance
Kohji Tanaka
NetBeans、FuelPHP と過ごしたこの 2 ヶ月
suno88
gulp + sass で目指せ倍速コーディング(東区フロントエンド勉強会 2015年 第1回) 環境準備編
Toshimichi Suekane
<第1回>Laravelハンズオンセミナー
Tatsuyoshi Mashiko
20091030cakephphandson 01
Yusuke Ando
Chefで作る開発環境
regret raym
Shibuya Pm Tt08 Advanced Mogilefs
guest172cfb
Aizu.LT::Tokyo #4
Taku Unno
Laravel5を使って開発してみた
Takeo Noda
React入門-JSONを取得して表示する
regret raym
20111006 cakephp2.0 study
gusagi
Jenkinsプラグイン開発
Takahisa Wada
REACT & WEB API
Shigeru Kondoh
gulp + sass で目指せ倍速コーディング(第2回 gulpfile.jsの分割管理と画像作成の効率化)
Toshimichi Suekane
Cakephp tokyo5
ichikaway
今、最も勢いのあるWebフレームワーク「fuel php」
Soudai Sone
Alfresco勉強会#30 alfrescoとshareのJavaScriptをデバッグしよう
Tomomi Kawabe
NetBeans plugin for wordpress
Junichi Yamamoto
Fuelphp1.8を始めたい
運営 sollastudio
明日から使えるgradle
kimukou_26 Kimukou
Cakephp2.1 ViewBlock view-inheritance
Kohji Tanaka
Ad
Similar to 20120307 CakePHP Study in Tokyo
(20)
PDF
CakePHP2.0 performance, upgrade shell
ichikaway
PDF
FukuokaPHP 3
ichikaway
PPT
Cakephp勉強会@tokyo #4
ichikaway
PPT
Cake Php開発事例
柴田 篤志
PPT
How to manage Cakephp @CakePHP_Fukuoka_2
ichikaway
PPT
Cakephpstudy5 hacks jp
Hiroki Shimizu
KEY
8分で分かる最近のCakePHP
Masashi Shinbara
KEY
10分で分かる最近のCakePHP
Masashi Shinbara
PDF
CakePHP - The point of upgrade
Yasuo Harada
PPT
CakeにTestがやってきた
kishida4slideshare
PDF
実"戦"CakePHP Plugin
Kenichirou Oyama
PDF
Cakephp
Yusuke Ando
PDF
FutureSync 世界の開発者とコラボしよう
ichikaway
PDF
baserCMSにみられるCakePHPノウハウ蓄積法
Ryuji Egashira
PDF
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
Yusuke Ando
PDF
Sencha と CakePHP の連携について
Kazuyuki Aoki
PDF
CakeRequest::onlyAllow() について
Yuya Takahashi
PDF
CakePHP2 Loading (Japanese)
ichikaway
PDF
第2回webデザイナー向けcake php勉強会
Shusuke Otomo
PDF
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
CakePHP2.0 performance, upgrade shell
ichikaway
FukuokaPHP 3
ichikaway
Cakephp勉強会@tokyo #4
ichikaway
Cake Php開発事例
柴田 篤志
How to manage Cakephp @CakePHP_Fukuoka_2
ichikaway
Cakephpstudy5 hacks jp
Hiroki Shimizu
8分で分かる最近のCakePHP
Masashi Shinbara
10分で分かる最近のCakePHP
Masashi Shinbara
CakePHP - The point of upgrade
Yasuo Harada
CakeにTestがやってきた
kishida4slideshare
実"戦"CakePHP Plugin
Kenichirou Oyama
Cakephp
Yusuke Ando
FutureSync 世界の開発者とコラボしよう
ichikaway
baserCMSにみられるCakePHPノウハウ蓄積法
Ryuji Egashira
3時間濃縮CakePHP2.1 in PHPカンファレンス北海道2012
Yusuke Ando
Sencha と CakePHP の連携について
Kazuyuki Aoki
CakeRequest::onlyAllow() について
Yuya Takahashi
CakePHP2 Loading (Japanese)
ichikaway
第2回webデザイナー向けcake php勉強会
Shusuke Otomo
WTM53 phpフレームワーク いまさらcodeigniter
Masanori Oobayashi
Ad
More from ichikaway
(20)
PDF
forteeに脆弱性検査をかけてみた VAddy編
ichikaway
PDF
Understanding Computer Architecture with NES Emulator
ichikaway
PDF
VAddyの課金システムを Stripeに乗り換えた話
ichikaway
PDF
Hello, Worldまで3ヶ月 Golangでファミコンエミュレータ実装 #gocon fukuoka 2019
ichikaway
PDF
ゼロから始めるファミコンエミュレータ生活 PHPerKaigi2019
ichikaway
PDF
現場で使える脆弱性検査サービス VAddy
ichikaway
PDF
OS入門 Fukuoka.php vol.18 LT資料
ichikaway
PDF
Yapc8oji: セキュリティテストサービスを開発運営してきた2年
ichikaway
PDF
VAaddyとは VAddyミートアップvol3_20160629
ichikaway
PDF
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
PDF
脆弱性もバグ、だからテストしよう DevSummiFukuoka
ichikaway
PDF
Vulnerabilities are bugs, Let's test for them!
ichikaway
PDF
脆弱性もバグ、だからテストしよう!
ichikaway
PDF
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
ichikaway
PDF
継続的Webセキュリティテスト testing casual talks2
ichikaway
PDF
Ctf2015 ichikawa Eizoku PM2.5 dial
ichikaway
PDF
VAddy - CI勉強会 fukuoka
ichikaway
PDF
Jenkinsを使った継続的セキュリティテスト
ichikaway
PDF
継続的セキュリティテストVaddy説明資料
ichikaway
PDF
VAddy at LL Diver LT
ichikaway
forteeに脆弱性検査をかけてみた VAddy編
ichikaway
Understanding Computer Architecture with NES Emulator
ichikaway
VAddyの課金システムを Stripeに乗り換えた話
ichikaway
Hello, Worldまで3ヶ月 Golangでファミコンエミュレータ実装 #gocon fukuoka 2019
ichikaway
ゼロから始めるファミコンエミュレータ生活 PHPerKaigi2019
ichikaway
現場で使える脆弱性検査サービス VAddy
ichikaway
OS入門 Fukuoka.php vol.18 LT資料
ichikaway
Yapc8oji: セキュリティテストサービスを開発運営してきた2年
ichikaway
VAaddyとは VAddyミートアップvol3_20160629
ichikaway
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
脆弱性もバグ、だからテストしよう DevSummiFukuoka
ichikaway
Vulnerabilities are bugs, Let's test for them!
ichikaway
脆弱性もバグ、だからテストしよう!
ichikaway
継続的Webセキュリティテスト PHPカンファレンス関西2015 LT
ichikaway
継続的Webセキュリティテスト testing casual talks2
ichikaway
Ctf2015 ichikawa Eizoku PM2.5 dial
ichikaway
VAddy - CI勉強会 fukuoka
ichikaway
Jenkinsを使った継続的セキュリティテスト
ichikaway
継続的セキュリティテストVaddy説明資料
ichikaway
VAddy at LL Diver LT
ichikaway
20120307 CakePHP Study in Tokyo
1.
ヤザマキ 春の Cake 祭り
2012/3/7 CakePHP study Yasushi Ichikawa
2.
I am Yasushi Ichikawa @cakephper http://d.hatena.ne.jp/cakephper
3.
Services KANAEL http://kanael.net ATND::Payment http://atndpay.eizoku.com Tipshare http://tipshare.info
4.
CakePHP2.1 の紹介 Cake2.1 Performance Mass
Assignment CakePHP Tips Stream Wrapper @ichikaway http://cake.eizoku.com/blog/
5.
CakePHP 2.1
6.
CakePHP2.1
祝 安定版リリース!! 2012/3/5 @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
7.
CakePHP2.1 ●JsonView /
XMLView の追加 ●View の継承 ●element('FooPlugin.bar'); ● 柔軟なイベントシステム ●Callback に優先度の設定 ●深い階層の配列データの保存 ● ex. User – Post - Comment @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
8.
CakePHP2.1 ●php ファイルで
ACL 定義 ● app/Config/acl.php ●Router::defaultRouteClass() 追加 ●Auth でユーザ検索の recursive 指定 ●SQL Debug に Prepared Statements のパラメータ 表示 ●app/Model/AppModel.php 必須 ● Controller 、 Helper も @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
9.
Cake2.1 Performance
10.
Cake2 Performance ●
環境 ● Dell SC440(Pen, 2Gmem) Ubuntu ● PHP5.3.5(APC), Apache2, MySQL5.1 ● 計測ツール ● siege -c 10 -b -t 3S ● アプリケーション ● Bake した index アクション ● paginate, many link @ichikaway http://cake.eizoku.com/blog/
11.
Cake2 Performance Bake しただけの画面を対象に計測
@ichikaway http://cake.eizoku.com/blog/
12.
Cake2 Performance ● CakePHP1.3.11
● 29 req/sec ● CakePHP2.0.4 ● 40 req/sec ● CakePHP2.1.0 ● 38 req/sec @ichikaway http://cake.eizoku.com/blog/
13.
Mass Assignment Vulnerability
14.
Mass Assignment vulnerability
●2012/3/5 Github がハックされる ● 脆弱性の Issue を上げたけど無視された ● ハックして自分が RoR の Master repo にコミット するデモを披露 ●Rails の MassAssignmentVlunerability ● Post されたデータをそのまま保存 @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
15.
Mass Assignment vulnerability
// In controller $this->User->save($this->data); // PostData data[User][name] = 'Ichi' @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
16.
Mass Assignment vulnerability
// In controller $this->User->save($this->data); // PostData data[User][name] = 'Ichi' data[User][is_admin] = '1' @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
17.
Mass Assignment vulnerability
●CakePHP での対応方法 ● SecurityComponent の利用 ● デフォルトでフォーム改竄チェックが有効に ● save データの限定 ● Model::whitelist プロパティで保存可能なフィー ルドを絞る ● Model::save() の第 3 引数で保存可能なフィー ルドを定義 @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
18.
CakePHP2 Tips
19.
CakePHP2 Tips ●Security
Component でフォーム改竄チェックをは ずす (CSRF 対応のみ利用したい) // In controller public $components = array( 'Security' => array('validatePost' => false), ); @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
20.
CakePHP2 Tips ●Prepared
Statements を利用 ● Cake1 の query() は PreparedStatement ではない // In controller $sql = 'select * from posts as Post where Post.id = :foo OR Post.id = :bar'; $result = $this->Post->getDatasource()->fetchAll( $sql, array('foo'=>1, 'bar' => 2)); @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
21.
CakePHP2 Tips ●
コントローラ、モデルを階層管理 ● CakePHP1 では自動探索で無問題 App/Controller/Admin/AdminController.php App/Controller/Admin/FooController.php App/Controller/User/PostController.php @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
22.
CakePHP2 Tips ●
コントローラ、モデルを階層管理 ● CakePHP2 ではパスを指定 // in bootstrap.php App::build(array( 'Controller' => array( '/app/Contoroller/Admin/', '/app/Contoroller/User/' ))); @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
23.
CakePHP2 Tips ●
コントローラ、モデルを階層管理 ● CakePHP2 でも自動探索したい! AutoAppBuild Plugin https://github.com/ichikaway/AutoAppBuild @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
24.
CakePHP2 Tips ●コントローラ、モデルを階層管理
● AutoAppBuild ● app/Plugin/AutoAppBuild に設置 // in bootstrap.php CakePlugin::load(array( 'AutoAppBuild' => array('bootstrap' => true) )); @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
25.
Stream Wrapper
26.
Motivation ●エレメントの内容を DB
に入れて管理したい ● エレメントには html タグ、 php コードが混在 ● ファイルの場合は、 include すれば html/php がレ ンダリングされて出力 ● DB 内のエレメントコンテンツを入れた変数を include したい! <- これどうやるの? @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
27.
Stream ●PHP のストリーム
● ファイルの入出力のように様々なプロトコルを透過 的に扱う仕組み ● fopen('http://example.com/foo/bar'); ● fopen('file://foo/bar.txt'); @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
28.
Stream ●PHP のストリーム
● ftp:// ● php:// ● zlib:// ● data:// ● ssh2:// ● php:// @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
29.
Stream ●PHP のストリーム
● data:// の text/plain で実現できそう $data = 'hello <?php echo "world"; ?>'; include('data://text/plain,' .$data); php.ini の下記条件が必須 allow_url_fopen = ON allow_url_include = ON @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
30.
Stream ●PHP のストリームを自作することに
● https://gist.github.com/1832549 ● App::import('Vendor', 'VariableStream'); stream_wrapper_register("var", "VariableStream"); $val = 'Hello <?php echo "World"; ?>'; include("var://".urlencode($val)); // 内部で urldecode している @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
31.
Stream ●PHP のストリームに必須なメソッド
● url_stat() ● stream_stat() ● stream_open() 変数の読込み ● stream_read() 読込んだ変数を返す ● stream_tell() 読込んだポジション ● stream_eof() 読込み終了判定 @cakephper / @ichikaway http://d.hatena.ne.jp/cakephper
32.
CakePHP2.1 の紹介 Cake2.1 Performance Mass
Assignment CakePHP Tips Stream Wrapper @ichikaway http://cake.eizoku.com/blog/
33.
THANK YOU @cakephper
http://cake.eizoku.com/blog/
Download