Home
Home
Tutorials
   PHP
   Java
   Tutti...
Manuali
SmartImage
Marketing
Downloads
Contatti
Affiliati

  Da vedere
Hosting
Statistiche per siti
Corsi per webmaster
Hardware
Processori


  OnFocus
PHP 5 ad oggetti: usare l'ereditarietà

Treize_Shell

I 10 font più compatibili per un sito web

  Siti Amici
Miki News
Giochi gratis
Areagratis
Baratto Online
AI Machines
Guide e Manuali Gratis
Oceano Webmaster
ScambioLink.org
Shopping online
Boutique online
Antivirus
Visure camerali
Add to Technorati Favorites

Tutti i siti amici
Diventa Affiliato

 


Autore: Alessandro
Categoria: mysql
Livello: normale Livello normale

Query più sicure e debug

Come eseguire query più sicure e più facili da controllare in fase di debug

Ho notato che diversi siti in caso di errore delle query Mysql fanno l'output della query e lasciano proseguire il programma, questo a volte pregiudica la sicurezza di molti sistemi come per esempio a volte la copertura con password di una pagina.

E' anche vero che in fase di debug è molto utile avere la query sott'occhio in caso di errore, quindi come comportarsi?

La soluzione che propongo in questo tutorial è quella di usare una funzione propria anzichè mysql_query(), esempio:

 <?php
//Impostazioni
$debug=true;
//Funzioni...
//Safe Query
function safe_query($sql) {
  global $debug;
  $qh=@mysql_query($sql);
  if ($qh)
    return $qh;
  else {
    if ($debug)
      die('La query ' $sql ' ha restituito l\'errore ' mysql_error());
    else
      die('Spiacenti, errore interno');
  }
}
?> 
In questa porzione di codice presuppongo che nelle impostazioni del vostro script ci sia una variabile chiamata $debug che sia impostata a true se siete in fase di debug (e quindi volete visualizzare a video gli errori) oppure a false se qualunque utente può visualizzarlo (quindi preferite mantenere nascosta la query).

In entrambi i casi ho usato un die() ma ognuno potrà usare il proprio sistema per il log deglio errori o magari può inviarsi un'email tramite la funzione mail() di php per essere sempre a conoscenza degli errori che gli utenti riscontrano sul sito.

Questo vuol essere solo uno spunto per una più ampia personalizzazione, proponetemi le vostre idee!

MySQL: ricerca full-text Precedente Indice Successivo Creare date casuali con MySql
MySQL: ricerca full-text Creare date casuali con MySql