Securizare conexiune globală pentru MySQL

Deoarece încă sunt scripturi Lavalair care au MySQL ca și metodă de conectare la baza de date, postez în acest articol o metodă de securizare a tuturor variabilelor superglobale.
Metoda folosită am aplicato la site-ul raiul.ro, dar mi-a fost cerută și de alți utilizatori de scripturi Lavalair.
Pentru securizarea variabilelor superglobale chiar după inițierea conexiunii la baza de date, se copiază în fișierul core.php (recomandat mai la începutul fișierului) următorul cod:

###Început cod:
$conectare_db=0;
if(!@mysql_connect($dbhost,$dbuser,$dbpass))
$conectare_db++;
if(!@mysql_select_db($dbname))
$conectare_db++;
if($conectare_db>0)
{
error_reporting(0);
ini_set('display_errors',0);
echo'<head><title>Eroare!!!</title></head><body><p style="text-align:center">Nu se poate conecta la baza de date.<br />Această eroare intervine in momntul în care apar erori interne ale serverului sau unele blocaje, reveniți mai târziu!</p></body></html>';
exit;
}
else
{
mysql_query('SET NAMES"utf8"');
function clean($q)
{
if(is_array($q))
{
foreach($q AS$k=>$v)
{
$q[$k]=clean($v);
}
}
elseif(is_string($q))
$q=mysql_real_escape_string(trim($q));
return$q;
}
$_SERVER=(isset($_SERVER)?clean($_SERVER):'');
$_GET=(isset($_GET)?clean($_GET):'');
$_POST=(isset($_POST)?clean($_POST):'');
$_COOKIE=(isset($_COOKIE)?clean($_COOKIE):'');
$_FILES=(isset($_FILES)?clean($_FILES):'');
$_ENV=(isset($_ENV)?clean($_ENV):'');
$_REQUEST=(isset($_REQUEST)?clean($_REQUEST):'');
$_SESSION=(isset($_SESSION)?clean($_SESSION):'');
}
###Sfârșit cod.

Acum conectarea se va face direct la executarea fișierului core.php, iar pentru anularea vechii conexiuni trebuie eliminată funcția connectdb() împreună cu apelările ei, din toate fișierele în care este inclus fișierul core.php.
Un exemplu al unei apelări a funcției connectdb() ar putea fi următorul:

$bcon = connectdb();
if (!$bcon)
{
echo "<card id=\"main\" title=\"$numesite \">";
echo "<p align=\"center\">";
echo "<small>Momentan pagina nu poate fi accesata!<br/>Se lucreaza la imbunatatirea serviciilor pe care vi le oferim!<br/>Siteul va putea fi accesat peste cateva minute<br/>Multumim pentru intelegere!<br/></small>";
echo "</p>";
echo "</card>";
echo "</wml>";
exit();
}

Lasă un răspuns