Posts tagged ‘PHP’

Tips de seguridad en PHP

  1. Utiliza los parámetros de PDO o mysql_real_escape_string sobre valores SQL para evitar la inyección del SQL.
  2. Utiliza htmlspecialchars/htmlentities/strip_tags para escapar HTML y Javascript así evitaras ataques XSS.
  3. 3. Utiliza sesiones y asegura los sockets para prevenir que roben la sesión además almacena un símbolo especial md5 ej: md5(uniqueid(rand(),time)) en la sesión y comprobarla con un campo oculto en método POST y así prevenir que otro usuario ingrese.
    Ejemplo:

    if($_SESSION [’seguridadMd5′]==$_POST[’campoculto’]) {
    /*Sesión segura*/
    }
  4. Usa escapeshellarg/escapeshellcmd cuando llames comandos exec para así evitar injección de comandos.
  5. Quita los linebreaks (BR, P y BLOCKQUOTE tags) de headers entrantes para prevenir la terminación y la inyección de códigos. Fixed >PHP5.1
  6. Utiliza comprobación md5 en valores y sessionid serializados para validar su integridad.
  7. 7. Utiliza el === para verificar valores de entrada (identidad de datos y de tipos).

  8. Utiliza está configuración,
    * ini_set(”display_errors”,false);
    * ini_set(”log_errors”,true);
    * ini_set(”error_log”,”ruta/php.log”);
    * ini_set(”session.save_path”,”ruta/www”); o “mm” session module o store en sqllite db
    * php.ini expose_php=off
    * php.ini register_globals=off
    * Apache servertokens=prod
  9. Para cambios de sesión usa session_regenerate_id.
  10. Usa secure sockets SSL para trasacciones comerciales.

Page 3 of 3