System Administration Archive

Drupal + LighttpD + URL limpias

No sabeis el trabajiño que me dio solventar el problema de las URLs limpias con el binomio Drupal, Lighttpd. Como no soi de mucha falacia os enseño el código que tenéis que pegar dentro de /etc/lighttpd.conf o dentro del archivo de configuración de cara slide virtual.

$HTTP["host"] =~ "^(slide.dominio.com)$" {
server.document-root = "/var/www/host-virtual"
url.rewrite-final = (
"^/system/test/(.*)$" =>  "/index.php?q=system/test/$1",
"^/([^.?]*)\?(.*)$" => "/index.php?q=$1&$2",
"^/([^.?]*)$" => "/index.php?q=$1",
"^/search/node/(.*)$" => "/index.php?q=search/node/$1"
)
}

Espero de sea de buen provecho.

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 6 of 6