Scrieți un cod securizat pe php

Sisteme de fișiere

Majoritatea webhost-urilor, ca majoritatea dezvoltatorilor web, sunt foarte previzibile. Destul de des, site-urile web au directoare de fișiere comune, cum ar fi www.website.com/includes/. Dacă proprietarul site-ului plasează un astfel de director pe server, oricine poate vizualiza fișierele din acest director.







Mulți dezvoltatori creează un script de conectare la baza de date și o numesc connect.inc. Toate acestea sunt foarte previzibile și nu sunt sigure, deoarece fișierele cu extensia .inc sunt procesate de browser ca text simplu, deci oricine le poate citi! Nu utilizați fișiere cu această extensie pentru a stoca parole pentru baze de date. Dacă este necesar, utilizați extensia .inc.php, apoi fișierul va fi procesat ca un script php (utilizatorul nu va vedea textul afișat pe pagină). În plus față de toate cele de mai sus, directoarele necesare ar trebui să fie interzise de la indexarea prin meta tag sau prin fișierul .htaccess.

Administrarea site-ului

Majoritatea proprietarilor de site-uri își administrează în prezent proiectele prin interfețe speciale - CMS (sistem de management al conținutului), atât de mulți nu știu cum să folosească clientul FTP. Adesea, această interfață este localizată în locuri previzibile (așa cum este descrisă în articolul precedent) și este ușor de găsit. Cu toate acestea, plasarea administratorului într-un loc greu de ajuns nu este suficient pentru o securitate completă.

Atacatorii recurg la hacking partea administrativă a site-ului prin atacuri de forță brute (căutarea completă a parolelor). Căutarea de parole în dicționar presupune înlocuirea tuturor parolelor înainte de primul meci. Această sortare se realizează prin programe speciale (forța bruta).







Cel mai bun mod de a proteja împotriva acestei metode este combinat. Mai întâi, folosiți testul Turing (captcha). Utilizați simboluri de înălțimi diferite și curbări cu adăugarea de zgomot de culoare. Asigurați-vă că această captură nu este cracată utilizând scriptul OCR.

Opțiuni de bază de date

Personalizați baza de date pentru a limita capacitatea utilizatorilor. Astfel, puteți reduce daunele estimate din acțiunile lor. Bazele de date moderne, cum ar fi MySQL sau SQL Server, vă permit să controlați acțiunile utilizatorilor. Puteți oferi utilizatorilor drepturile de adăugare, editare, ștergere și multe altele. De obicei, pentru multe proiecte, este suficient să permiteți utilizatorilor să adauge și să editeze date.

Utilitare de comandă PHP

Limba PHP conține multe comenzi care au acces la sistemul de operare pentru servere, care pot interacționa cu alte programe. Dacă nu aveți nevoie să utilizați aceste comenzi, vă recomand să le dezactivați.

De exemplu, funcția eval () vă permite să tratați un șir ca un cod php și să îl executați. În unele cazuri, acest lucru este destul de util. Cu toate acestea, dacă utilizați eval (), utilizatorul poate dăuna site-ului dvs. Oferind acces la această funcție, trebuie să verificați cu atenție datele primite.

Există modalități de a rezolva această problemă. Nu utilizați funcțiile eval () și alte funcții ale sistemului. Pentru aceasta, php.ini are o directivă "disable_functions". În mod implicit, următoarele funcții sunt dezactivate: ini_set (), exec (), fopen (), popen (), passthru (), readfile (), fișier (), shell_exec () și system ().

vigilență

Majoritatea problemelor enumerate mai sus pot fi evitate prin filtrarea atentă a datelor primite. Speranța pentru cele mai bune, dar pregătiți-vă pentru cel mai rău.

Pentru un blog de afaceri, trebuie să alegeți teme Premium Wordpress. Până în prezent, puteți găsi pe Internet o mulțime de teme de calitate pentru WP.







Articole similare

Trimiteți-le prietenilor: