Jakiś czas temu na jednej ze stron zmodyfikowałem wszystkie skrypty, tak aby cała strona działała w oparciu o framework PRADO. Ponieważ framework ten wymaga innego formatu URL’i niż wcześniej używałem, utworzyłem w pliku .htaccess zestaw reguł które dokonywały zamiany starych ścieżek na nowe. Poza tym dołożyłem też wysyłanie raportów o błędach emailem – zarówno tych które powstały w trakcie wykonania skryptu, jak i błędów HTTP 404 (nie znaleziono strony).
Po wgraniu nowej wersji strony na serwer zacząłem dostawać emaile z informacjami o błędach 404. Większość z nich była adresami które próbował wywoływać system monitoringu stron El Monito – poradziłem sobie z nimi dodając odpowiedni warunek do kodu skryptu wysyłającego raport o błędzie.
Trafiło się też kilka błędnych adresów – po zbadaniu sprawy przekierowałem je na najbardziej zbliżoną stronę lub na stronę główną (a co mają się linki marnować :)).
Oprócz nich była też cała grupa błędów 404 generowana przez robota Yahoo!, który próbował dobierać się do katalogów których nie powinien ruszać. Chodzi o to że wszystkie adresy do artykułów mają postać „/artykuly/kategora/tytul.php”, a w katalogu kategoria nie ma pliku index i nie da się go wylistować (serwer zwracał błąd – wcześniej 403 Forbidden, a w nowej wersji strony 404 Not Found). Do katalogów tych nie prowadzą też żadne linki (a przynajmniej ja nic o nich nie wiem).
Z jakiegoś powodu jednak Yahoo! postanowiło sprawdzać czy coś tam jest. Przyznam że jest to ciekawy sposób na zaindeksowanie dodatkowej części witryny – w takich katalogach czasami może być coś ciekawego. Najczęściej jednak można trafić na listę zawartości katalogu (o ile nie jest to zablokowane). Może to być niebezpieczne, zwłaszcza gdy w katalogu znajdują się pliki których nikt niepowołany nie powinien oglądać, np. pliki z hasłami. Dlatego polecam dodanie do pliku .htaccess następującej linii, która blokuje wyświetlanie zawartości katalogów:
Options -Indexes
Jeżeli nie możesz zablokować tego przez plik .htaccess, możesz też umieścić w każdym z takich katalogów pusty plik index.html – zostanie on pobrany przy próbie dostępu do katalogu, co skutecznie zablokuje wyświetlanie zawartości tego katalogu.
Wracając natomiast do mojego problemu z raportami o błędach 404 powodowanymi przez wścibskie Yahoo! – dodałem kolejny zestaw reguł do .htaccess, który blokował (błąd 403 Forbidden) próby odwołań do tych katalogów. No i ilość maili zdecydowanie się zmniejszyła
Komentarze