Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTACCESS] Zablokowanie pliku przed niepożądanym wykonaniem
Forum PHP.pl > Forum > Serwery WWW
dela
W folderze /admin/cron/ znajduję się plik o nazwie cron.php. Jak sama nazwa sugeruje jego zawartość jest wykonywana przez harmonogram zdarzeń Cron. Chciałbym go zablokować by zwykły użytkownik nie mógł go uruchomić za pośrednictwem przeglądarki. Aktualnie jest tak że jak wpiszę w adres przeglądarki www.mojadomena.pl/admin/cron/cron.php uruchamia się i zmienia mi dane w bazie danych.
sowiq
Jeśli serwer uruchamia ten plik parserem PHP, a nie jakimś wget'em, to najprostsze rozwiązanie z możliwych - w folderze cron umieszczasz .htaccess o treści
Kod
deny from all


Więcej na ten temat
dela
Jeżeli w folderze admin/cron/ mam więcej niż tylko jeden plik (cron.php) a reszta powinna być uruchamiana za pomocą GET'a czy
  1. <Files .htaccess>
  2. order allow,deny
  3. deny from all
  4. </Files>
nie zablokuje mi reszty plików?
sowiq
Nie. Co więcej, nie zablokuje Ci żadnego pliku PHP, bo nawiasy trójkątne definiują, że reguły dotyczą tylko plików .htaccess: <Files .htaccess>
dela
Zastosowałem coś takiego
  1. <Files "*cron.php">
  2. deny from all
  3. </Files>

proszę o zweryfikowanie poprawności
sowiq
Nie jestem pewien, czy to zadziała. Ja bym raczej zastosował:
Kod
<FilesMatch "cron\.php$">

albo
Kod
<Files ~ "cron.php$">


Z tym, że pierwszy sposób jest preferowany.
rocktech.pl
Witam.

Cytat
Jeżeli w folderze admin/cron/ mam więcej niż tylko jeden plik (cron.php) a reszta powinna być uruchamiana za pomocą GET'a ...


Nie kombinuj jak chcesz uruchamiać GET to daj w innym katalogu.

A tym katalogu wstaw brutalnie:

[APACHE] pobierz, plaintext
  1. Order allow,deny
  2. Deny from all
[APACHE] pobierz, plaintext


Ewentualnie:
[APACHE] pobierz, plaintext
  1. <IfModule mod_autoindex.c>
  2. Options -Indexes
  3. </IfModule>
  4. <FilesMatch "(\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist|php)|~)$">
  5. Order allow,deny
  6. Deny from all
  7. Satisfy All
  8. </FilesMatch>
[APACHE] pobierz, plaintext
sowiq
@rocktech.pl, a po co stosować taką kobyłę? To coś na zasadzie 'tam takie coś zastosowali i zadziałało'?
rocktech.pl
Dałem to "ewentualnie". Najprostsze rozwiązania są najlepsze.

I uważam, że najlepiej zablokować dostęp do tego katalogu Deny ... i kropka.

Zawsze można dać w pliku cron.php:
  1. if (PHP_SAPI !== 'cli')
  2. {
  3. exit(1);
  4. }


Takie rzeczy się mszczą. Dodasz następny plik zapomnisz. A potem parsujesz access_log ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.