Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z uprawnieniami
Forum PHP.pl > Forum > Serwery WWW > Apache
Ace
Witam.

Moj problem przedstawia sie nastepujaca :

mam taka strukture plikow

Kod
/

/all/

/all/dir1/

/all/dir2/

/design/

/projects/

/temp/


i chce zablokowac dostep do glownego katalogu, tak aby nikt nie mogl go odczytywac, po czym chce zrobic tak jakby przekierowanie katalogu /all/ aby pojawial sie w katalogu glowny, bo on ma byc tak jakby dostepny dla wszystkich, a pozostale maja byc zablokowane. Mam windows XP, a sprzet jak w opisie ponizej.

Czyli efekt. Jesli wchodze z localhost widze

Kod
/all/

/dir1/

/dir2/

/design/

/projects/

/temp/


wchodzac z internetu mam widziec, tylko zawartosc katalogu /all/ gdyz pozostale katalogi dostepne sa tylko z localhost
Kod
/dir1/

/dir2/


Moje proby ograniczaly sie do testowania kilku funkcji...
Zrobilem
Kod
Alias / /all/ - nie dziala

ScriptAlias ./ /all/ - tez nie dziala

probowalem robic tez

Kod
    <Location C:/Program Files/Apache Group/Apache/htdocs/>

    SetHandler C:/Program Files/Apache Group/Apache/htdocs/all/

    Order allow,deny

    Allow from all

    </Location>

lecz tez nie dzialalo. Kompletnie nie wiem co teraz zrobic, a z problemem mecze sie juz 3 godzine.

jak narazie udalo mi sie zablokowac dostep do glownego katalogu z internetu, oraz dac dostep tylko katalogowi /all/. Wiec jakis poczatek mam winksmiley.jpg


pozdrawiam
kszychu
No to pokombinuj jeszcze z VirtualHosts i plikiem .htaccess (nie wiem, czy .htaccess działa pod windowsem, ale raczej powinien).
Ace
Kod
<VirtualHost "127.0.0.1">

    ServerAdmin oxencud@wp.pl // mail admina

    DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs/" //  katalog w ktorym sa pliki

    ServerName kluseczka // domena/adres pod ktorym ma tobyc dostepne

    ServerAlias 127.0.0.1/ 127.0.0.1/all/ // dalem alias, aby glowny katalog odwolywal sie do katalogu /all/ -> nie dziala

    ErrorLog logs/local-error_log

    CustomLog logs/local-access_log common

</VirtualHost>

i nie wiem jak sie do tego zabrac. Probowalem rowniez

Kod
<VirtualHost "127.0.0.1">

    ServerAdmin oxencud@wp.pl

    DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs/all/"

    ServerName kluseczka

    ServerAlias 127.0.0.1/ 127.0.0.1/all/

    ErrorLog logs/local-error_log

    CustomLog logs/local-access_log common

</VirtualHost>

bo wtedy odoluje sie 1 wpis -> kluseczka [ domena ? ] do 2 katalogow, lecz tez nie dziala. Probowalem zrobic jeszcze przekierowanie w pliku .htaccess
Kod
Redirect http://localhost/ http://localhost/all/

lecz nie przekierowywuje mnie do podanego katalogu. Naprawde nie wiem co jest z tym , a mecze sie z tym problemem juz jakis czas. Nie wiem jak rozwiazac swoj problem, gdyz pewnie nie znam wszystkich zasad tworzenia VirtualHost -> dopiero zaczynam sie brac za konfiguracje serwerow.
Czy moglby mi ktos pokazac jak wykonac taki wpis do pliku konfiguracyjnego, jak w moim poscie 1 ) w tym watku ? Ja naprawne nie wiem juz co moge zrobic.
Bakus
A nie można zrobić tego "programowo" przez php i w nim sprawdzać z kąd jest gość i przekierowywać gdzie trzeba?
Ace
no dobra, ale jak to sobie wyobrazasz ?
gosc wchodzi z netu na moj localhost/ na localhost ma index.php ktory wybiera przekierowanie ? No ok, ale jak ja chce wejsc na localhost i zobaczyc spis katalogow ? to mnie przekieruje do innego katalogu. W twoim rozumowaniu trzeba by bylo zrobic 2 katalogi, /all/ i /ja/ jesli wchodzi ktos z netu - ip nie jest localhost, to przekierowuje go do /all/ ale jesli ja wejde z localhost to przekierowanie jest na /ja/.

Ale jesli gosc z netu wpisze /mojip/ja/ to ma dostep do katalogu do ktorego nie powinien miec dostepu, a z ustawien serwera mam juz przydzielone uprawnienia, ze wszystkie katalogi sa blokowane z zewnatrz, a z wewnatrz ja moge wejsc, natomiast do katalogu /all/ nadalem dostep dla wszystkich. To rozwiazanie nie jest dobre w moim przypadku.
Bakus
A w katalogu /ja/ nie może być pliku index.php, który dokonywał by powtórnej weryfikacji ?

Wystarczy, że napiszesz funkcję do sprawdzania IP gościa i funkcję do weryfikowania uprawnień "IP=>Katalog"...

Jak dla mnie wydaje się to proste...
Wyświetlanie zawartości folderu także nie stanowi większego problemu...
Ace
lecz jak wpisze

mojeip/jedenkatalog/drugi/trzeci z internetu, to pojawi mi sie trzeci katalog. A jesli chcialbym blokowac i weryfikowac dostep to musialbym wrzucic do kazdego z nich index.php z weryfikacja, a to chyba klopotliwe jest...

juz doszedlem do tego jak to zrobic. Ale problem nadal jest winksmiley.jpg mam zmienne ip, wiec
Kod
NameVirtualHost xxx.xxx.xxx.xxx



<VirtualHost xxx.xxx.xxx.xxx>

    ServerAdmin xxx@xxx.pl

    DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs/all/"

    ServerName xxx.xxx.xxx.xxx

    ErrorLog logs/haba-error_log

    CustomLog logs/haba-access_log common

</VirtualHost>


jesli za xxx.xxx.xxx.xxx wstawie moj numer ip to jest ok i przekierowywuje mnie do wybranego katalogu, lecz jesli dam domena.no-ip.org to juz nie bo domena chyba przekierowuje na ip. Czy jest jakis sposob abym mogl wpisac w miejsce xxx.xxx.xxx.xxx aktualne ip komputera, i jesli za kazdym razem bedzie inne, zeby sie automatycznie zmienialo ?
Ace
ok juz sobie poradzilem...
na stronie no-ip.com musialem dac na domene WILDCARD i to wszystko, zamiast ip, wpisywalem domene...

pozdrawiam winksmiley.jpg
Bakus
A co w przypadku, gdy nagle zmieni się IP (rozłączy Ci na chwilę połączenie) questionmark.gif

Miałem z tym spory problem, więc z chęcią zobaczę jak rozwiązałeś ten problem...
Ace
zaden problem...
z no-ip.org sciagam program, ktory sprawdza moje ip i aktualizuje w wypadku gdy jest inne. ;] tylko chyba nie dziala to jesli jestes za firewallem, wtedy na serwerze glownym musisz zainstalowac ten programik. Kumpel za firewall jest i nie moze. Moze po prostu nie wiem czy istnieje taka mozliwosc aktualizowania ip kompa, lecz nie udalo mi sie skonfigurowac tego.
Bakus
Nio dobrze... rozłączy, połączy ponownie i masz zmieniony IP, ale Apache nie jest dostępny z zewnątrz i wysypuje błędy, bo przypisał gniazda do innego IP... Niestety Apache nie jest jeszcze dobrym serwerem dla compów ze zmiennym IP... a szkoda...
Ace
ok, ale...

w apache ustawiasz w VIRTUALHOST domene, czyli apache odwoluje sie do domeny, a nie do ip, wiec ip moze sie zmieniac. Tylko zauwazylem jeden problem, gdy sie lacze z internetem, to musze zresetowac serwer apache zeby dzialalo poprawnie, poniewaz po wlaczeniu komputera apache szuka chyba ip domeny, i jej nie znajduje, wiec jest tak jakby pusta, a jak sie polacze z netem, nadal jest vartosc pusta, musze zrestartowac serwer,aby apache znow szukal ip domeny, i jak znajdzie, to ma juz ip. To samo jest przy kazdym zerwaniu polaczenia chyba.
Bakus
Owszem jest...
Apache odszukuje IP przypisany do domeny i przypina się do tego IP...
W przypadku gdy masz stały IP to zachowanie apache jest nie zauważalne... :?
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.