Uma vez que sua aplicação está completa, ou mesmo antes quando você quiser colocá-la no ar. Existem algumas poucas coisas que você deve fazer quando colocar em produção uma aplicação CakePHP.
Atualizar o arquivo core.php, especificamente o valor do debug
é de
extrema importância. Tornar o debug igual a false
desabilita muitos recursos
do processo de desenvolvimento que nunca devem ser expostos ao mundo.
Desabilitar o debug, altera as seguintes coisas:
Mensagens de depuração criadas com pr()
e debug()
serão desabilitadas.
O cache interno do CakePHP será descartado após 999 dias ao invés de ser a cada 10 segundos como em desenvolvimento.
Views de erros serão menos informativas, retornando mensagens de erros genéricas.
Erros do PHP não serão mostrados.
O rastreamento de stack traces (conjunto de exceções) será desabilitado.
Além dos itens citados acima, muitos plugins e extensões usam o valor do
debug
para modificarem seus comportamentos.
Por exemplo, você pode setar uma variável de ambiente em sua configuração do Apache:
SetEnv CAKEPHP_DEBUG 1
E então você pode definir o level de debug dinamicamente no config/app.php:
$debug = (bool)getenv('CAKEPHP_DEBUG');
return [
'debug' => $debug,
.....
];
Se você está jogando sua aplicação na selva, é uma boa idéia certificar-se que ela não possui vulnerabilidades óbvias:
Certifique-se de utilizar o Falsificação de Solicitação entre Sites (CSRF) Middleware.
Você pode querer habilitar o Security (Segurança). Isso pode prevenir diversos tipos de adulteração de formulários e reduzir a possibilidade de overdose de requisições.
Certifique-se que seus models possuem as regras Validação de validação habilitadas.
Verifique se apenas o seu diretório webroot
é visível publicamente, e que
seus segredos (como seu app salt, e qualquer chave de segurança) são privados
e únicos também.
Definir a raiz do documento da sua aplicação corretamente é um passo importante
para manter seu código protegido e sua aplicação mais segura. As aplicações
desenvolvidas com o CakePHP devem ter a raiz apontando para o diretório
webroot
. Isto torna a aplicação e os arquivos de configurações
inacessíveis via URL. Configurar a raiz do documento depende de cada servidor
web. Veja a Reescrita de URL para informações sobre servidores web
específicos.
De qualquer forma você vai querer definir o host/domínio virtual para o
webroot/
. Isso remove a possibilidade de arquivos fora do diretório raiz
serem executados.
O carregamento de classes pode alocar facilmente o tempo de processamento de sua aplicação. A fim de evitar esse problema, é recomendado que você execute este comando em seu servidor de produção uma vez que a aplicação esteja implantada:
php composer.phar dumpautoload -o
Sabendo que manipulação de referências estáticas, como imagens, JavaScript e
arquivos CSS, plugins, através do Dispatcher
é incrivelmente ineficiente, é
fortemente recomendado referenciá-los simbolicamente para produção. Por
exemplo:
ln -s Plugin/YourPlugin/webroot/css/yourplugin.css webroot/css/yourplugin.css