allow by domain name
allow by domain name
#1
Napisany 05 marzec 2010 - 18:28
dyrektywy mod_access czyli
order deny, allow
allow from ip.ip.ip.ip
dziala poprawnie.
chcialbym sobie ulatwic prace i za pomoca np serwisu no-ip.pl 'przypisac' do komputera na ktorym pracuje jakas domene , np domena.com
wtedy w dyrektywach dostepu powinno dzialac cos takiego:
order deny, allow
allow from domena.com
teraz pytanie jak zrobic na poziomie apache zeby miec dostep do hosta?
powyzsze sprawdzenie daje negatywny wynik, pingi z konsoli pokazuja prawidlowo - zatrzymalem sie w tym miejscu i nie mam pomyslow co dalej...
moz ektos juz os takiego trenowal?
#2
Napisany 05 marzec 2010 - 18:48
Ja w sumie to nie mam żadnego konkretnego pomysłu jak to racjonalnie rozwiązać i wątpię by taki sposób istniał. (Mam nadzieję, że się mylę
#3
Napisany 05 marzec 2010 - 21:21
$ip_domeny = gethostbyname('domena.no-ip.pl');
$ip =gethostbyname($REMOTE_ADDR);
if ($ip_domeny == $ip) OK - i to sie sprawdzatylko nie wiem jakby to zaimplementowac pod apache, wiem ze sa tam jakies zmienne ktore mozna podsuwac dla mod_access
ale nie wiem jakby dostarczyc tam wynik powyzszego 'triku'
#4
Napisany 05 marzec 2010 - 23:27
Bo serwer na prawdę nie jest wróżką i nie potrafi wywróżyć, czy podany adres IP należy do dynamicznej domeny xyz.no-ip.com czy też zyx.dyndns.org bez zrobienia lookupu wszystkich możliwych kombinacji.
Lookupu zasobożernego - przy jednym hoście nie za bardzo odczuwalnego może, ale jak ich tam umieścisz ze 100, a potem jeszcze dojdzie to, że ktoś będzie ci złośliwie robił równoległego z kilkunastu lokalizacji GETa, to może ci się wszystko dosyć mocno spowolnić.
Jeśli chcesz to zrobić porządnie, to po prostu postaw sobie VPN i tych dynamicznych klientów zmuszaj do wyklikania sobie połączenia bezpiecznego. A wtedy to już możesz robić prezycyjne ACLki dostępu do aplikacji via adresy IP, oraz ACLki do samego dostępu do koncentratora VPN.
#5
Napisany 05 marzec 2010 - 23:37
bo potem w .htacces mozna zarzadzac zmiennymi jakos zdaje sie , wiec moznaby zgodnosc dwoch adresow ip ?
poza tym nie rozumiem o tej wrozce i dynamicznych adresach IP , co za roznica - w php odpytujesz funkcja gethostbyname(domena) i otrzymujesz wynikowo IP , o to samo mi chodzilo z poziomu virtualhosta czy .htaccess - to serwer dns no-ip.pl zwroci aktualny adres IP mojego komputera przeciez
wiec w zasadzie to szukam odpowiednika takiej funkcji z php zeby jej uzyc w .htaccess
#6
Napisany 06 marzec 2010 - 00:12
A tu - trzeba by wykonać n-odpytań o adres IP dla każdej z domen i za każdym razem porównać, czy się zgadza, czy nie.
Stąd też aby nie kusić potencjalnych personów do stosowania tego arcynieoptymalnego algorytmu to z poziomu serwera nie będzie on raczej dostępny.
A jeśli chcesz co request wywoływać takich wiele zapytań, to zrób sobie plik, który będziesz includował do każdego php na początku, ewentualnie auto_prepend_file w php.ini i tam zrób to magiczne sprawdzanie.
#7
Napisany 06 marzec 2010 - 01:07
sytuacja w praktyce wyglada tak ze mam powiedzmy 2 virtualhosty:
pierwszy o IP 1.1.1.1 i tam chodzi sobie jakis serwis www w okreslonym katalogu
drugi o IP 1.1.1.2 i tam trzymam narzedzia administracyjne typu phpmyadmin, mysqldumper - generalnie wchodzi tam tylko kilka osob pracujacych przy danym projekcie.
na tym drugim wykorzystalem tylko auto_prepend_file i podalem sciezke do pliku powiedzmy /var/www/testIP.php
w pliku php jest owe sprawdzenie , jesli adres IP sie nie zgadza to przerywa dalsza prace przez die('brak dostepu');
rozwiazanie w pelni mnie zadowala , dziala tak jak powinno - ale czy Twoim zdaniem nadal naraza to zasoby serwera na duze obciazenie, samo wykorzystanie funkcji gethostbyname() spod php?
zaznaczam ze jest to uzyte na jednym virtualhoscie , ktorego IP nie widac spod zadnej domeny , lacze sie tam za pomoca http://1.1.1.2/phpmyadmin , na tym ktory obsluguje domene z serwisem ogolnodostepnym tej dyrektywy nie uzywam.
#8
Napisany 06 marzec 2010 - 01:15
Prościej chyba będzie zrobić sprawdzanie tej opcji przy logowaniu, a później ustawienie w sesji AUTH=true i sprawdzanie w dalszych podstronach, czy $_SESSION['AUTH'] jest równe true.
1 Użytkowników czyta ten temat
0 użytkowników, 1 gości, 0 anonimowych użytkowników













