Skocz do zawartości

Web Hosting Talk

  • progreso.pl

    Partner technologiczny

    Upraszczamy to, co inni starają się komplikować. Prosto, pewnie, przyjaźnie - tak robimy hosting!
  • Kei.pl

    Partner technologiczny

    Kei.pl działa na polskim rynku internetowym od 2000 roku. Obecnie na blisko 300 serwerach w Centrum Danych Kei.pl znajduje się kilkadziesiąt tysięcy stron WWW.
  • S-NET.info

    Partner technologiczny

    S-NET to dostawca usług dla biznesu. Najważniejsze usługi świadczone przez firmę to usługi Centrum Danych, dostęp do Internetu, transmisja danych oraz tranzyt do różnych operatorów.
  • Sprint Data Center

    Partner technologiczny

    Sprint Data Center to jedyne w Polsce północno-wschodniej i jednocześnie jedno z najnowocześniejszych w kraju centrum przechowywania i przetwarzania danych.

 

allow by domain name


7 odpowiedzi na ten temat

allow by domain name

#1 shikataganai

    Regularny użytkownik

  • Użytkownicy
  • 99 postów

Napisany 05 marzec 2010 - 18:28

mam nastepujacy problem - mam kilka serwisow i paneli administracyjnych z zabazpieczeniami dostepu po IP na poziomie hostow wirtualnych apache

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?
domeny: MasterNET.pl
serwery dedykowane: www.balticdatacenter.pl by Szirok

#2 malu

    Hello Kitty!

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 1374 postów
  • Skąd:Leszno
  • Imię:Mateusz
  • Nazwisko:Adach

Napisany 05 marzec 2010 - 18:48

W zasadzie może być to ciężkie do zrealizowania bo w przypadku no-ip nie jest to hostname komputera z którego się łączysz :D
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ę:))
Polecam:
Hosting współdzielony @ ViPower.pl
Serwery VPS @ ViHost.pl

#3 shikataganai

    Regularny użytkownik

  • Użytkownicy
  • 99 postów

Napisany 05 marzec 2010 - 21:21

w jednym przypadku zrobilem takie sprawdzenie spod php:

 $ip_domeny = gethostbyname('domena.no-ip.pl');
 $ip =gethostbyname($REMOTE_ADDR);

if ($ip_domeny == $ip)  OK
- i to sie sprawdza

tylko 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' :D
domeny: MasterNET.pl
serwery dedykowane: www.balticdatacenter.pl by Szirok

#4 kafi

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 2537 postów

Napisany 05 marzec 2010 - 23:27

Pod mod_access tego nie zrobisz, bo on sprawdza rekord PTR(revDNS) adresu IP, a nie jakieś tam mapowania A.
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 shikataganai

    Regularny użytkownik

  • Użytkownicy
  • 99 postów

Napisany 05 marzec 2010 - 23:37

a czy z poziomu .htaccess (w zasadzie dyrektywy w virualhostach sa takie same chyba) da sie zrobic proste odpytanie o adres IP dla danej domeny?
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 :D
domeny: MasterNET.pl
serwery dedykowane: www.balticdatacenter.pl by Szirok

#6 kafi

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 2537 postów

Napisany 06 marzec 2010 - 00:12

Chodzi o to, że o rekord PTR dla adresu IP da się serwer DNS odpytać raz i potem go porównać z całą listą praktycznie jedną operacją.
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 shikataganai

    Regularny użytkownik

  • Użytkownicy
  • 99 postów

Napisany 06 marzec 2010 - 01:07

ok, dzieki za podpowiedz, wykorzystalem auto_prepend_file , ale nie w php.ini tylko bezposrednio w definicji virtualhosta , dziala.

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.
domeny: MasterNET.pl
serwery dedykowane: www.balticdatacenter.pl by Szirok

#8 kafi

    Weteran WHT

  • WHT Pro
  • PipPipPipPipPipPipPipPip
  • 2537 postów

Napisany 06 marzec 2010 - 01:15

Tak.
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