next up previous contents
Next: Control de sessions Up: Programació Previous: Configuració del servidor   Índex

Seguretat

En cada enviament de variables al servidor, comprovarem que aquestes siguen vàlides per a no mostrar missatges d'error de MySQL ni de php a l'usuari. Així farem una comprovació en primer lloc utilitzant el llenguatge javascript, que s'executa en el navegador del client i d'aquesta manera no afecta amb un excés de càrrega al servidor; però aquestes dades també es validaran al servidor mitjançant php.

Com a exemple, mostrarem com es validarà un camp d'enviament d'una adreça de correu electrònic, en primer lloc en codi javascript:

fuction validar_email(form) {
  if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*
      (\.\w{2,4})+$/.test(form.email.value))) {
    alert("L'e-mail és incorrecte.");
    form.email.focus();
    return (false);
  }
}

I a continuació, com es validaria utilitzant php:

function validar_email($email) {
  if (!ereg("^[a-zA-Z0-9-]([\._a-zA-Z0-9-]+)*
      @[a-zA-Z0-9]+\.([a-zA-Z0-9-]+[\.]?)*$", $email)) {
    return false;
  }
}

Els possibles errors de MySQL amb retorns sense resultats,..., també els solucionarem mostrant errors control·lats per pantalla, per exemple:


$cerca = mysql_query("SELECT * from Empresari_hostaler", $link);
if (mysql_num_rows($cerca) == 0) {
  echo 'No hi han empresaris hostalers';
} else {
  // realitzem les accions pertinents
}

També control·larem en la sessió d'usuaris que no es pot iniciar sessió passant paràmetres del tipus OR 1=1 en el password.

Establirem un entorn segur https quan l'usuari haja d'enviar dades personals o passwords. Com en tot moment disposem del formulari per a iniciar sessió, necessitem que totes les pàgines siguen https. Utilitzarem la següent funció, que encapçalarà els nostres mòduls php:

//funcio que canvia a entorn https
function ch_https() {
  if (!$_SERVER['HTTPS']) {
    header("Location: https://".$_SERVER['HTTP_HOST'].
            $_SERVER['SCRIPT_NAME']);
    die();
  }
}


next up previous contents
Next: Control de sessions Up: Programació Previous: Configuració del servidor   Índex
david AT cdecdf.com 2007-08-26


Alojamiento con 500GB de espacio y 5000GB de ancho de banda por 4 euros al mes
Cómo contratar servicios de hosting con Dreamhost
Descuento, promocode para dreamhost de $50