Ach ne! Kde je JavaScript?
Váš webový prohlížeč nemá povolen JavaScript nebo nepodporuje JavaScript. Pro správné zobrazení tohoto webu nebo pro upgrade na webový prohlížeč, který podporuje JavaScript, povolte JavaScript ve webovém prohlížeči.
PHP-Fusion 9 Jádro
v9.03.00
Překlad CZ/SK
Pravidelně aktualizovaný
Demo
Testovat PHP-Fusion

Novinky

SECURITY: Bezpečnost a účel "safe_mode"

SECURITY: Bezpečnost a účel "safe_mode"
Kvalitní operační systémy mají propracovanou bezpečnostní politiku. Je to především systém přístupových práv k adresářům a souborům. Tzv. práva rozhodují, kdo a jaký má přístup. Jenže - to ještě zcela nestačí, je třeba přístup k PHP souborů dále omezit! Případně použít režim "safe_mode". Zabráníme tak, aby někdo získal zdrojové kódy a přes ně třeba útočil na server.

Přístup k souborům je třeba omezit nastavením tzv. atributů CHMOD, většinou na "755". Tím zabráníme, aby do našich souborů někdo zasahoval zápisem. Mnohdy při instalaci módu (skriptu) je nutné udělit souborům plná práva "777" a po instalaci rychle vše nastavit na bezpečnostní jištění. U mnohých souborů lze použít nastavení CHMOD na "660".

To však není celá bezpečnostní politika ochrany PHP skriptů! Měli bychom se zaměřit v prvé řadě na webový server Apache na jeho direktivu DocumentRoot a direktivu ServerRoot. Najdete je v konfiguračním souboru httpd.conf. Jde o kořenový/základní adresář pro všechny www dokumenty, které napíšete. Odsud se prostě otevírají. Kardinální výhoda tohoto skvělého systému je v tom, že ať se snažíte, jak se snažíte, z URL adresního řádku v prohlížeči se k umístěným souborům nedostanete. Avšak PHP soubory můžeme jinak číst odkudkoli a zapisovat do nich - jenže musíme mít k tomu příslušná přístupová práva. O nichž už byla řeč. Avšak nad těmito právy je ještě jiné, přísnější zabezpečení.

Režim "safe_mode"

Řeč bude nyní o bezpečnostním režimu safe_mode, což je stejnojmenná direktiva konfiguračního souboru php.ini. Pokud ji v tomto souboru odkomentujeme, tedy zapneme, postaráme se o to, že nebudeme ani my moci zasahovat do takto zabezpečených/chráněných souborů. A to ani v případě, že budeme mít příslušná přístupová práva! Ano, o tak silnou ochranu tu jde. Zdůrazňuji, že toto nastavení je defaultně v PHP systému vypnuto (nastaveno na Off). Nastupuje až ve fázi možného ohrožení určitého souboru (souborů) v internetové PHP aplikaci (na webové stránce). Takže, zapnutí safe_mode znamená speciální nastavení interpreteru PHP skriptu pro jeho bezpečnější spouštění.

Počítejte s omezením

Je však třeba počítat s tím, že pokud třeba má váš webový hosting/poskytovatel hostingu safe_mode zapnutý, musíte ve skriptech počítat s určitým omezením. Aktivní nebudete mít příkazy System, Popen, Exec, PassThru, a Dl, které jsou notoricky známé jako nebezpečné. Omezení se týká rovněž dalších příkazů, zejména Fopen, File, Link, Unlink, Symlink, Rename, RmDir, Include, Require, Copy, ReadFile . Pro tyto příkazy platí stejné podmínky přístupu jako pro vlastníka skriptu.

Jak si již čtenářka zde postěžovala, shora zmíněna omezení safe-mode dělají problémy zejména při uploadování souborů na server. Prostě, třeba funkce copy je nám k ničemu, nereaguje! V takovém případě je ovšem řešení - funkce move_uploaded_file, kterou můžete používat od verze PHP 4.0.3. Drtivá většina webhostingu ji používá. Většinou však musíte o jeji aktivaci písemně požádat. Pokud bude tato funkce na vaši žádost na serveru aktivována je po problému. Po uplaudu souboru do adresářů vašeho webu přes FTP, můžete s nimi běžně pracovat (kopírovat, zapisovat)rovněž prostřednictvím FTP.

Upload souboru s využitím "move_uploaded_file"




Upload za použití move_upload_file








if( $soubor ) {
move_uploaded_file($_FILES['soubor']['tmp_name'], "dokumenty/".$_FILES['soubor']['name']);
chmod("dokumenty/".$_FILES['soubor']['name'], octdec('0644'));
}
?>


Resumé

Měli bychom tedy pamatovat na okolnost, že z důvodů bezpečnostní politiky, jsou většinou na serverech adresáře zabezpečeny natolik, že Apache jako webový server, není schopen do nich zapisovat. V tom případě se musíme obrátit na poskytovatele hostingu. Nenadávejte na něj, má na zřeteli bezpečnost vašeho webu a poskytovaných služeb. Přístup se dá většinou za vašeho použití "move_uploaded_file" vyřídit do druhého dne. Na druhé straně nejnovější informace z PHP.net říká, že: "z vývojové verze PHP byl "safe_mode" ODSTRANĚN!. Stane se tedy asi minulostí, ale podle mě to ještě řadu let potrvá. Nejsme v zabezpečení a vybavení serverů ještě tak daleko!

Kvido 12.01.2007 02:10 3,162 0 komentářů

0 komentářů

Zanechat komentář

Přihlaste se, abyste mohli zveřejnit komentář.
  • Žádné komentáře nebyly zveřejněny.

Nejnovější témata fóra
  Vlákno Zobrazení Odpovědi Poslední příspěvek
Úprava prekladu
v PHP-Fusion 9
226 1 RobiNN
01-09-2019 15:22
forum na https://www.phpfusion.cz/
v PHP-Fusion 9
704 1 RobiNN
02-08-2019 12:03
súkromné správy - mazanie
v PHP-Fusion 9
761 3 RobiNN
02-08-2019 12:02
pridanie Admina
v PHP-Fusion 9
698 1 RobiNN
02-08-2019 12:00
Farby uživateľov
v PHP-Fusion 9
798 1 RobiNN
02-08-2019 11:45
Feedback
v PHP-Fusion 9
1045 5 Balin50
22-06-2019 21:30
Administrácia adminov
v PHP-Fusion 9
900 1 RobiNN
22-06-2019 14:38
Přihlášení
Ještě nejste členem? Klikněte zde a zaregistrujte se.