2010-09-21 16 views
5

Estoy pensando en utilizar CakePHP para crear una aplicación web. Mi pregunta es ¿cuánto de las cosas de seguridad tendré que codificar para evitar (inyección de SQL, etc.)? ¿De qué cosas de seguridad se encarga CakePHP por sí mismo y qué tendré que codificar?cakePHP security

+0

http://book.cakephp.org/view/1296/Security-Component –

Respuesta

0

CakePHP es bastante bueno en eso, no tendrá que preocuparse por lo que se envía. Pero si está usando los datos, todo estará oculto. Por lo tanto, un Formulario creado a partir de las clases de Ayuda será seguro para XSS, pero una vez que esté imprimiendo lo que es int $ this-> data, debe saber y tener cuidado de escapar de él. h() es un alias de uso frecuente para htmlspecialchars().

CakePHP no tiene protección contra XSRF fuera de la caja.

Para ACL, le ofrece algunos componentes.

0

Depende seguro de cuál es su estilo de código y cuál es su comprensión del marco. Por supuesto, si está utilizando la función CakePHP para almacenar datos, estará bastante bien.

Pero actualmente estoy trabajando en una "aplicación" pagada de CakePHP que está lejos de ser código seguro :) Así que realmente depende del desarrollador.

4

cake hace muchas cosas automáticamente pero algunas no. Dependiendo de qué tan seguro quiere que forme, también debe considerar "inclusión en la lista blanca": details

el método más fácil sería usar el componente de seguridad.

0

Cake ofrece sus propias características como validación de datos, patrón de codificación MVC, controladores, componente de autenticación, proceso de configuración automatizada y también el componente de seguridad. Por lo tanto, no es algo de lo que preocuparse. Si no está satisfecho con esto y desea agregar su propio componente de seguridad, visite el blog: http://goo.gl/ZoQzLx

0

Se puede habilitar la seguridad en el pastel con pocas líneas de código y usarlo en clases.

protección para SQL Injection

  • uso cakephp $ this> buscar se desinfectar automáticamente sus parámetros pero si desea utilizar la consulta en bruto todavía se puede desinfectar sus datos utilizando Desinfección :: de escape() método

Para la protección CSRF

  • puede habilitarlo app/Controller/AppController.php

`` `

public $components = [ 
    'Security' => [ 
     'csrfUseOnce' => false, 
     'csrfExpires' => '+1 hour', 
    ], 
]; 

` ``

Para XSS

https://book.cakephp.org/2.0/en/core-libraries/components/security-component.html