Časté útoky hackerov dokazujú, že bezpečnosť webu zostáva najdôležitejšou otázkou pre každého, kto podniká na internete. Terčom týchto útokov sú najčastejšie servery, ktoré ukladajú informácie. Preto je potrebné zabezpečiť spoľahlivú ochranu servera.
Zabezpečenie PHP na Apache
Spustite protokol „phpinfo ()“a skontrolujte riadok príkazom „open_basedir“. Týmto príkazom môžete definovať základný adresár pre všetkých používateľov. Po nastavení tejto hodnoty už nebudú môcť otvárať súbory mimo tohto koreňového priečinka alebo jeho podadresárov, napríklad „C: / Windows“.
Ak máte ďalšie štrukturálne adresáre, definujte ich ako základný adresár pomocou príkazu „www_root“. Jeden používateľ však bude môcť čítať a upravovať súbory iného používateľa. Tomu treba zabrániť.
V súbore php.ini bohužiaľ nie sú žiadne možnosti, ktoré by zabránili jednému používateľovi v prístupe k údajom druhého.
Existuje ale jeden zaujímavý spôsob, ak PHP beží na Apache. V phpinfo () nájdete dva stĺpce: Primárna hodnota a Lokálna hodnota. Prvou je hodnota v „php.ini“. Druhá je hodnota, ktorá sa určuje, keď je server spustený.
Ak je hlavná hodnota z číselného hľadiska malá, potom ju možno zmeniť v skripte pomocou príkazu „ini_set ()“. Toto sa nevzťahuje na „open_basedir“, pretože táto hodnota je kritická z hľadiska bezpečnosti a môže ju zmeniť iba správca.
V Apache je možné konfiguračný súbor „httpd.conf“zadať v príručke pod miestnou hodnotou „open_basedir“.
Ostatné nastavenia PHP
Nastavením „disable_functions“v súbore „php.ini“musíte deaktivovať funkcie, ktoré sú potenciálne nebezpečné.
Dobre si premyslite každú akciu, ktorú podniknete. Zakázanie funkcie znamená, že niektoré skripty prestanú fungovať.
Niektoré funkcie sú skutočne nebezpečné a na skriptovanie sa zvyčajne nevyžadujú. Na konkrétne účely môžu byť potrebné ďalšie. Preto nie je ľahké deaktivovať všetky funkcie, ktoré môžu byť nebezpečné, ale tiež starostlivo zvážte svoje rozhodnutia.
Neverte, že postačí iba funkcia „safe_mode = On“. Môže to deaktivovať niektoré užitočné funkcie a nemusí vyriešiť bezpečnostný problém popísaný vyššie. Núdzový režim je zastaraný v PHP 5.3.0 a je odstránený v PHP 6.0.0.
Otázky ochrany
Existuje niekoľko chýb, ktoré môže webový vývojár urobiť a spôsobiť, že web je nezabezpečený.
Napríklad ak vytvoríte svoj blog a umožníte používateľom nahrávať obrázky, môže to byť vážne riziko, keď kód napíše začiatočník. Existuje niekoľko chýb, ktoré môže programátor urobiť na prihlasovacej stránke atď. Jednou z najbežnejších je neexistencia zákazu sťahovania škodlivých algoritmov.
Dôležitým bodom je, že jedna nezabezpečená stránka vo verejnom hostovaní predstavuje hrozbu pre celý server. Riziková môže byť aj inštalácia projektov Open Source, ako je PHP-Nuke. Už bolo objavených niekoľko slabých miest v podobných projektoch.