2009-08-15 20 views
12

Oto sytuacja ....htaccess zezwalaj na problem z lokalnym hostem

Mam zaplanowane uruchomienie zadania cron, które służy do tworzenia kopii zapasowej bazy danych. Ze względu na sposób instalacji php, muszę użyć rysika, aby trafić skrypt php, który wykonuje kopię zapasową.

Ponieważ ten skrypt musi żyć w moim folderze public_html, chcę odmówić wszystkim żądaniom oprócz tych, które pochodzą bezpośrednio z mojego serwera (np. Localhost). Ponadto zakładam, że adres IP, z którego będę pochodził to 127.0.0.1. Nie jestem do końca pewien, czy to prawda, ale nie mogę wymyślić, jakie jeszcze moje IP byłoby w tej sytuacji. Mam rację co do zadania crona, które uruchamia się i trafia do skryptu z 127.0.0.1?

Oto co mój .htaccess wygląda następująco:

order allow,deny 
deny from all 
allow from 127.0.0.1 

W rezultacie wciąż otrzymuję 403 Forbidden. To właśnie chcę zrobić dla wszystkich innych, oprócz mnie. Może robię to w niewłaściwy sposób ... Czy ktoś widzi, co robię źle?

Odpowiedz

26

użyj kolejności na odwrót, to znaczy:

order deny,allow 
deny from all 
allow from 127.0.0.1 
+1

Ah, dzięki za wskazanie tego! Nie wiem, dlaczego to zrobiłem .... Ponadto odkryłem, że muszę zezwolić na adres IP mojego serwera, a nie localhost. Zakładam, że to dlatego, że trafiam na w pełni kwalifikowany (http: // .....) adres, gdy używasz rysia w zadaniu cron. Dzięki za pomoc. – Anthony

+0

Świetnie, ustawiam adres IP mojego telefonu na zezwalający. Teraz mogę to zrobić. :) – nich

+5

Myślę, że powinieneś również zezwolić na ':: 1', ponieważ w przeciwnym razie może cię nie wpuścić (Apache 2.4.7) – anestv

4

Require local

Lokalny dostawca umożliwia dostęp do serwera, jeśli którykolwiek z następujących warunków:

  • adres klienta odpowiada 127.0.0.0/8
  • Adresy klientów s jest :: 1
  • zarówno klient, jak i adres serwera połączenia są takie same

Pozwala w wygodny sposób pasujące połączenia, które pochodzą z lokalnego hosta:

Require local

Powiązane problemy