アプリケーションが完成したら、またはその前に、それをデプロイしたいと思うことでしょう。 CakePHPアプリケーションをデプロイする際には、いくつかやっておかなければならないことがあります。
もしあなたが荒野にアプリケーションを解き放とうとするなら、何か抜け穴がないかを確認しておくことをお勧めします。 CSRF攻撃や、フォームの改ざんなどを防ぐために /core-libraries/components/security-component をチェックしてください。 /models/data-validation を行うこと、そして データのサニタイズ は、XSS攻撃からデータベースを保護する素晴らしいアイデアです。 webroot ディレクトリだけが公開され、あなたの秘密(アプリケーションのsaltとセキュリティキーなど)はプライベートでユニークなことを確認してください!
アプリケーションでドキュメントルートを正しく指定することはコードをセキュアに、またアプリケーションを安全に保つために重要なステップの内の一つです。 CakePHPのアプリケーションは、アプリケーションの app/webroot にドキュメントルートを指定する必要があります。 これによってアプリケーション、設定のファイルがURLを通してアクセスすることができなくなります。 ドキュメントルートの指定の仕方はWEBサーバーごとに異なります。 WEBサーバー特有の情報についていは URLリライティング ドキュメントを見てください。
どの場合においても app/webroot/ をバーチャルホスト(バーチャルドメイン)のドキュメントルートに設定すべきでしょう。これは webroot ディレクトリの外側のファイルを実行される可能性を取り除きます。
core.phpの更新、とりわけ debug 値は非常に重要です。 debug = 0 にすることで、広くインターネットに晒されることがあってはならない多くの開発用の機能を無効にできます。 debugの無効化は以下の種々のものごとに変更を与えます:
上記に加えて、プラグインやアプリケーションの拡張が debug を用いてその挙動を変えます。
プラグインの画像や JavaScript、CSS ファイルなどの静的なアセットを扱う場合、ディスパッチャを通すことはかなりの非効率です。
本番環境においては、次のようにシンボリックリンクを張ることを強くお勧めします。
ln -s app/Plugin/YourPlugin/webroot/css/yourplugin.css app/webroot/css/yourplugin.css