Zece reguli pentru scrierea unui cod securizat pe php, php

Secțiunea "Zece verificări de securitate pentru PHP" dezbate pe scurt cele mai comune 10 greșeli ale programatorilor PHP, care duc la probleme legate de securitatea scripturilor.







Evitați utilizarea variabilelor generate pe baza datelor utilizatorului în funcția include (include, solicitați) sau accesați fișierul (readfile, fopen, file). De exemplu: include ($ lib_dir. "Functions.inc"); include ($ pagină); variabilele $ lib_dir și $ page trebuie verificate în prealabil fie pentru a prezenta caractere interzise, ​​fie asociate cu o serie predeterminată de valori valide:

Este necesar să se protejeze caracterele periculoase ( „și“) în variabilele implicate în SQL zaprosah.Naprimer, un atacator poate transmite un tip de variabilă „parola = a% 27 + SAU + 1% 3Di% 271“, care va fi folosit ca o interogare în SQL „Password =„o 'sau 1 =' 1 ' „Soluție: activați magic_quotes_gpc în php.ini sau de screening variabile independent prin addslashes () ;.







Nu trebuie să ai încredere variabile globale atunci când sunt încorporate în modul register_globals php.ini atacator poate înlocui valoarea unei variabile globale. Utilizați matrice asociative $ HTTP_GET_VARS si $ HTTP_POST_VARS cu register_globals oprit și la începutul script-ului inițializa în mod explicit toate variabilele globale.

Localizează fișierul injectat numai prin is_uploaded_file (), sau prin utilizarea move_uploaded_file (), dar nu au încredere o variabilă globală cu calea către fișierul descărcat, valoarea pe care un atacator poate falsifica.

Utilizați funcțiile htmlspecialchars (), htmlentities () pentru a ascunde etichetele HTML prezente în datele primite de la utilizator.

Plasați fișierele de date în afara arborelui sistemului de fișiere accesibil prin intermediul web-ului (un nivel mai mic decât htdocs sau "document root") sau protejați directoarele prin .htaccess.

mod_php rulează în modul safe_mode.

Verificați prezența caracterului interzis în variabilele utilizate în eval, preg_replace, exec, passthru, system, popen, ``.

Când utilizați nu mod_php, o php.cgi versiune CGI nu uitați că, prin php.cgi poate accesa orice fișier în directorul protejat de .htaccess, deoarece accesul este restricționat în acest caz, numai la cererile directe, dar nu și pentru cererile prin CGI script php.cgi.







Articole similare

Trimiteți-le prietenilor: