Rails 界隈で話題の Mass Assignment 脆弱性を CakePHP で防ぐ方法です。 Github に Mass Assignment 脆弱性が発見されて、Rails 界隈で話題になっています。この問題自体は目新しいものではなく、Rails 自体の問題というより、Rails アプリケーションの作り方の問題ということで、以前から作る側が注意を払う必要がありました。 この Mass Assignment 脆弱性は、Rails を手本に発展してきた CakePHP アプリケーションでも同様の問題が発生する可能性があります。知っている人には常識なのですが、まだ知らない人もいるかと思うので、CakePHPにおける対策方法を書いてみます。下記コードはCakePHP2系を想定していますが、考え方はCakePHP1系でも同じです。 Mass Assignment 脆弱性 CakePHP に
config/core.php Configure::write('Cache.disable', false); Configure::write('Cache.check', true); contollers/*_controller.php var $helpers = array('Cache'); var $cacheAction = 86400; アクションごとにキャッシュを無効にすることも可能です。 controllers/*_controller.php var $cacheAction = true; function index() { $this->cacheAction = false; } indexはキャッシュされません。 cakephpのcacheの設定がよくわからないので、メモします。 Cache.disable trueに設定すると、サイト全体のキャッシ
W 杯に向けて CS 放送契約しました!nakamura です。でもケーブルテレビだと、まだあまりフルハイビジョン対応していないんですねぇ、、、 今回は CakePHP 連載の 2 回目、第 1 回の Component に続いて Behavior のお話しをします。データアクセス周りで共通して使う機能を 1 箇所にまとめたい場合 Behavior はうってつけの方法です。まだ、あまりうまく使えていない方、ぜひ参考にしてみてください! Behavior って? Controller でいう Component と同様の役割を Model に対して提供します。特定のモデルに依存しない汎用的な機能を記述する事で、どのモデルからでも同じようにその機能にアクセスする事が可能になります。 設置場所 app/models/behaviors 以下に設置します。 命名規則 命名規則も基本的には Comp
Kcaptchaプラグインとは このプラグインは、KCAPTCHAをものすごい簡単に使おうという趣旨のもと作られました。 単純な使い方ではほんとにあっという間に使うことが可能になります。 hiromi2424/CakePHP-Kcaptcha-Plugin - GitHub 上記でこのプラグインをMITライセンスで公開しています。 以下にREADMEの抜粋を訳したものを載せておきます。 インストール pluginsディレクトリで、 git clone git://github.com/hiromi2424/CakePHP-Kcaptcha-Plugin.git kcaptcha またはリポジトリのカレントディレクトリで、 git submodule add git://github.com/hiromi2424/CakePHP-Kcaptcha-Plugin.git plugins/kca
New CakePHP 5.1 Chiffon. Faster. Simple. Delicious. What's new in 5.1 The migration guide has a complete list of /what's new in 5.1. We recommend you give that page a read when upgrading. A few highlights from 5.1 are: new plugin commands Components can now have dependencies injected by the container Upgraded to support PHPUnit 11.1+ Improved enum validation More events, so you can observe your ap
人気ブログランキングへ PHPでクッキー使うとブラウザ依存するので CakePHPのクッキーを使うことにした。 以下CakePHPのクッキー使用時のメモ 最初にコントローラーでコンポーネントを定義する。 次に公式サイトに書いてあるように http://book.cakephp.org/ja/view/1282/Using-the-Component writeやreadをすればよい しかし、公式の記述が間違ってるので注意。 クッキーの削除はdelじゃなくてdelete これ気づくのに時間かった。 これでうまく行くはずだったんだがうまくいかない・・・。 具体的には初回の書き込みはうまくできるんだが 「,]を区切り文字にしてデータを書き込もうとすると書き込めない。 そのため区切り文字を「,」から「-」にしたらうまくできた。 そして、IEでもFireFoxでもうまく動作したので ブラウザ依存は解
第7回 CakePHP IRC集会 日時 2010年6月予定 サーバ : irc.freenode.net ポート : 6667 チャンネル #cakephp-ja 文字コード UTF-8 文字コードの変更方法は、下記「IRCを初めて使う方へ」を参照ください。 この集会を開く趣旨 CakePHPに関心がある人との繋がりを、もう少し密にしたい 時間を決めて、この時間だけは、気軽に会話できるという雰囲気を作りたい Joinしたけどみんな無言(PCの前にいないことが多いから?)で、そこで発言するのが怖いを無くしたい 基本方針 CakePHP好き、興味のある人が、ある決められた日時にIRCで集まって気軽に会話する 内容に関して、ベースはCakePHPだけど、ほかのフレームワークとか、技術に関係ないこともOK CakePHPというトピックでまとめた方が発散しないので良いかなと思ってるだけで、Cak
OpenID component for CakePHP A CakePHP component to make it easier to integrate OpenID into your applications. The component depends on the (bundled) open source PHP OpenID library by JanRain, and is licensed under the MIT license. Download version for CakePHP 2.x Or get the version for the older CakePHP 1.x (see the readme for installation instructions and examples). You can also check out the pr
by 赤がすき Published 6 月 30th, 2008 in AuthComponent, OpenID, PHP, cakephp | (12) (0) (1) (0) Total: 13 第3回CakePHP勉強会にて、LTした内容と関連するソースを公開します。 | View | Upload your own AuthComponennt+OpenID OpenIDに対応した会員制サイトを以下の組み合わせでさくっと作る PHP OpenID Library OpenID component for CakePHP AuthComponent 今回作成するアプリケーションの仕様 出来るだけコードを書かない方向で、動くものを作成 modelはひとつ OpenIDで認証されたユーザは、Cakeアプリに自動ログイン OpenIDで認証されたユーザは、初回のみ、次の要領
New CakePHP 5.1 Chiffon. Faster. Simple. Delicious. What's new in 5.1 The migration guide has a complete list of /what's new in 5.1. We recommend you give that page a read when upgrading. A few highlights from 5.1 are: new plugin commands Components can now have dependencies injected by the container Upgraded to support PHPUnit 11.1+ Improved enum validation More events, so you can observe your ap
CakePHP 1.2を使った国際化を実装する際に調べて役に立ったサイトを(主に自分のために)纏めておきます。 1)いつも、人知れずお世話になっているサイト「CakePHPのおいしい食べ方」にとても分かりやすい解説がありました。 CakePHP1.2の簡単国際化 CakePHP1.2のbakeで自動生成した画面は、画面に表示される文字列が__(’文字列’) で囲まれています。これは、簡単に多言語翻訳ができるように配慮されているからです。 引用元: CakePHP のおいしい食べ方: CakePHP1.2の簡単国際化. 2)次に、言語の切り替えをマニュアルでするためのリンクの作り方では、このサイトの情報が役に立ちました。 To better understand the goal and why some things were done the way they were, I’ll su
※CakePHP バージョン 1.2限定の話題です。 Router::url によるURLの生成時に、prefix パラメータは考慮されない。ありがちな例として携帯用URLを作るために次のような route を追加した場合、 Router::connect('/m/:controller/:action/*', array('prefix' => 'mobile')); URL生成時には prefix パラメータの有無によらず、この route がマッチする。各種ヘルパー($html->link | $paginator | $form->create)でPC用のURLに意図しないプレフィクスが付いてしまう、という問題の原因はこれである。 // どちらも /m/foo/bar になってしまう! $url->link('link', array('controller' => 'foo',
passed引数はリクエストを作り上げるときにその他の引数またはパスセグメントとして使用されます。これらはコントローラのメソッドにパラメータを渡すためによく使われます。 http://localhost/calendars/view/recent/mark 上記の例では、recentとmarkはCalendarsController::view()へのpassed引数です。passed引数は二つの方法でコントローラに渡されます。一つは、アクションのメソッドが呼び出されたときの引数としてです。もう一つは、順番付けされた配列として$this->params['pass']を利用できます。また、カスタムルートを使うとき、passed引数に特定のパラメータを強制させることもできます。更なる情報は、アクションにパラメータを渡すを見てください。 URL を使ってパラメータに名前を付けて、その値を渡すこ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く