Don't you speak portuguese? Translate this site with Google Translator

Pensamento do Dia

A prática é um professor excepcional. (Plínio, o Jovem, escritor romano)

6 - Segurança

6 – Segurança

 

Eu não falhei. Apenas descobri mil maneiras que não funcionam.

Thomas Edison

Usando o Componente Security

O uso do componente Security geralmente é feito no método beforeFilter() dos Controllers.

 

Apenas descomente no initialize() do AppController.php, veja.

 

public function initialize()
{
parent::initialize();

$this->loadComponent('RequestHandler', [
'enableBeforeRedirect' => false,
]);
$this->loadComponent('Flash');

/*
* Enable the following component for recommended CakePHP security settings.
* see https://book.cakephp.org/3.0/en/controllers/components/security.html
*/
$this->loadComponent('Security'); // DESCOMENTAR ESTA LINHA
}

 

Validações

Para que as validações do Cake surtam efeito precisamos criar nossos forms usando o formHelper.

 

Salt

Há alguns outros itens que podem ser configurados. Muitos desenvolvedores completam esta lista de itens, mas os mesmos não são obrigatórios para este tutorial. Um deles é definir uma sequência personalizada (ou “salt”) para uso em hashes de segurança.

A sequência personalizada (ou salt) é utilizada para gerar hashes de segurança. Se você utilizou o Composer, ele cuidou disso para você durante a instalação. Apesar disso, você precisa alterar a sequência personalizada padrão editando o arquivo config/app.php. Não importa qual será o novo valor, somente deverá ser algo difícil de descobrir:

'Security' => [
    'salt' => 'valor longo contendo mistura aleatória de valores.',
],
Quando instalamos o Cake usando o composer, o composer já cuida disso e de outras tarefas para nós.

 

Componente CSRF

Cross Site Request Forgery

Ao habilitar o componente CSRF você obtém proteção contra ataques. CSRF ou Cross Site Request Forgery (Falsificação de solicitação entre sites) é uma vulnerabilidade comum nas aplicações web. Esta brecha permite que o atacante capture e responda uma requisição, e as vezes envie dados através de uma requisição usando tags de imagem ou recursos em outros domínios.

O CsrfComponent trabalha setando um cookie no navegador do usuário. Quando os formulários são criados com o Cake\View\Helper\FormHelper, um input hidden é adicionado contendo o token CSRF. Durante o evento Controller.startup, se a requisição for POST, PUT, DELETE ou PATCH o componente irá comparar os dados da requisição e o valor do cookie. Se um deles estiver faltando ou os dois valores forem imcompatíveis o componente lançará um Cake\Network\Exception\InvalidCsrfTokenException.

Por default o componente CSRF vem habilitado no routes.php.

 

Mais detalhes

http://book.cakephp.org/3.0/en/controllers/components/security.html

http://book.cakephp.org/3.0/en/core-libraries/security.html

http://book.cakephp.org/3.0/en/controllers/components/csrf.html

 

 

Comments fornecido por CComment

Novo Testamento

Por isso vos rogo que confirmeis para com ele o vosso amor.
(2Co, 2:8)

Rotas no Mapa do Google

© 2015 Ribamar FS. All Rights Reserved. Designed By JoomShaper