Portál AbcLinuxu, 13. května 2025 21:45
Dobré odpoledne...
Co bych potřebovala
Potřebovala bych poradit, jak pomocí souboru .htaccess uloženého v požadovaném adresáři zakázat spuštění souborů php. Pravidlo potřebuji aplikovat na adresář ve kterém je soubor .htaccess uložen včetně jeho všech podadresářů.
K čemu to potřebuji
Mám na serveru upload obrázků a pokud by někdo nějakým způsobem uložil místo obrázku soubor php, chci zabránit spuštění jeho obsahu.
Pokud by někdo věděl, prosím o pomoc, děkuji a přeji krásný den. V.L.
Řešení dotazu:
RewriteEngine on RewriteRule \.php$ - [F]Vysvětlení: První řádek zapne zpracování rewrite (ještě musí být mod_rewrite aktivovaný na serveru). Druhý se aplikuje na název souboru, který končí .php (\ je tam pro potlačení speciálního významu tečky, dolar má naopak speciální význam konce toho názvu). Pomlčka značí prázdné url, [F] značí 403 Forbidden. Snad je to správně. Jinak je lepší to ošetřit už při tom ukládání, pokud to jde. Bacha, aby dotyčný nemohl uložit, přepsat či smazat
.htaccess
.
\.přípona$
:
When you use AddHandler, you are telling Apache that “execute this as php” is one possible way to handle .php files. But! Apache doesn’t have the same idea of file extensions that every human being on the planet does. It’s designed to support, say, index.html.en being recognized as both English and HTML. To Apache, a file can have any number of file extensions simultaneously. Imagine you have a file upload form that dumps files into some public directory. To make sure nobody uploads PHP files, you just check that they don’t have a .php extension. All an attacker has to do is upload a file named foo.php.txt; your uploader won’t see a problem, but Apache will recognize it as PHP, and it will happily execute.
RemoveHandler .php .phtml .php3 RemoveType .php .phtml .php3 php_flag engine offKaždý řádek de-facto, dělá to co požadujete, PHP zdroják se pak normálně zobrazí jako běžný text.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.