¿Cómo puedo bloquear las inyecciones de sql desde una página como esta…http://u.neighborrow.com/artículos/reciente

OriginalEl autor adam | 2010-11-09

3 Comentarios

  1. 17

    CakePHP ya que protege contra Inyección SQL si usas CakePHP ORM métodos (tales como find() y save()) y la adecuada notación de matriz (es decir. array(‘campo’ => $valor)) en lugar de sentencias SQL. Para la desinfección contra XSS generalmente es mejor guardar el HTML en bruto en la base de datos sin modificación y desinfectar en el momento de la salida/de la pantalla.

    Esto te dará una buena idea de cómo hacerlo.

    App::import('Sanitize'); 
    class MyController extends AppController {     ...     ... } 

    Una vez que hayas hecho esto, usted puede hacer llamadas a Desinfectar de forma estática.

    OriginalEl autor Keng

  2. 3

    Necesita desinfectar sólo en los raros casos en que usted necesita para escribir raw consultas.

    Raw consulta es:

    $this->User->query("select username from users where email='$email_received_from_user_form'");

    antes de ejecutar que usted necesita:

    App::import('Sanitize');
    
    $email_received_from_user_form = Sanitize::paranoid($email_received_from_user_form, array('@', '_', '-', '.'));

    Si se utiliza bien los datos de sanitización va a quitar/editar todos los caracteres maliciosos en la consulta (sin inyecciones sql).

    Ver aquí: http://book.cakephp.org/2.0/en/core-utility-libraries/sanitize.html

    Después de aprender todo acerca de los Datos de Saneamiento intente nunca lo uso. El uso de la CakePHP forma así:

    $this->User->field('username', array('email' => $email_received_from_user_form));

    I en este caso usted no tiene que preocuparse acerca de las inyecciones de SQL. Nunca se debe usar raw consultas a menos que tu no tienes otra opción.

    OriginalEl autor Ivelin

Dejar respuesta

Please enter your comment!
Please enter your name here