ASP tip: Jak omezit přístup z určitých IP adres?

V praxi může velmi snadno nastat situace, že budete chtít umožnit přístup k některým stránkám podle IP adresy – například administrativní stránky vašeho webu mají být přístupné pouze z vnitřní sítě a podobně.
V praxi může velmi snadno nastat situace, že budete chtít umožnit přístup k některým stránkám podle IP adresy – například administrativní stránky vašeho webu mají být přístupné pouze z vnitřní sítě a podobně.

Nastavení WWW serveru
MS IIS 4.0 umožňuje nastavit omezení přístupu podle IP v nastavení WWW serveru. Spusťte si Microsoft Management Consoli s IIS, vyberte patřičný web a po klepnutí pravým tlačítkem zvolte Vlastnosti. Na záložce Directory security klepněte na Edit… v sekci IP Address and Domain Name Restrictions. Objeví se následující okno:

Pokud je nastaveno “Granted Access”, je obecně přístup povolen, s výjimkou počítačů uvedených v seznamu níže. Je-li nastaveno “Denied Access”, je obecně přístup zakázán, s výjimkou počítačů vypsaných níže. Na příkladu na obrázku je web otevřený pro kohokoliv, kromě počítače s IP 147.251.48.1.

Pokud se uživatel z tohoto počítače pokusí podívat na stránky na daném serveru, objeví se mu jenom chybové hlášení 403.6 (Forbidden) – IP address rejected.

S výhodou můžete tohoto využít, pokud nastavíte “Denied Access” pro všechny počítače, s výjimkou počítače s adresou 127.0.0.1. Tato IP patří počítači “LOCALHOST”, což je počítač, na kterém běží ten který server. To znamená, že na – například důležité administrativní – stránky se nedostane nikdo, kdo nesedí přímo u serveru.

Použití Active Server Pages
Může nastat situace, kdy výše uvedené řešení nelze použít. Například proto, že seznam povolených/zakázaných IP má být generován z databáze, nebo proto, že uvedená metoda vyžaduje spolupráci správce WWW serveru.

Pokud máte možnost použít ASP, můžete si pomoci svépomocí. V serverové proměnné REMOTE_ADDR se ukládá IP adresa hosta. Pokud tedy chcete odříznout uživatele již zmíněného počítače 147.251.48.1, uděláte to tím, že na začátek skriptu (tedy ještě před tím, než cokoliv zapíšete na výstup pomocí Response.Write nebo klasicky zapsaného HTML) vložíte řádek

<%If Request.ServerVariables("REMOTE ADDR") = "147.251.48.1" Then Response.Redirect "denied.htm"%>
  
Uživatel se zmíněnou IP bude odvržen na stránku denied.htm, kde ho může čekat chybové hlášení podle vaší fantazie.

Jistě přijdete i na další způsoby využití faktu, že znáte IP adresu vašeho návštěvníka.
  

Váš názor Další článek: Druhá firma zavádí v USA internetový paušál

Témata článku: Software, Programování, Přístup, Adresa, Access, Patřičný web


Určitě si přečtěte

Apple dal do MacBooku procesor Core i9 a 4TB SSD. Ani se neptejte, co za to chce...

Apple dal do MacBooku procesor Core i9 a 4TB SSD. Ani se neptejte, co za to chce...

** Apple aktualizoval notebooky MacBook Pro, dostaly nový hardware ** Těšit se můžete na nové procesory a větší paměť ** Cena nejvybavenějšího modelu překročí 200 tisíc korun

Martin Miksa | 99

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

Apple: naše mapy budou nejlepší na světě. Tajně jsme na nich pracovali několik let

** Apple odhalil své plány na zcela nové mapy ** Několik let pracuje na nových mapách, které by měly předběhnout konkurenci ** Objeví se s příchodem iOS 12 pro vybrané státy

Karel Javůrek | 50

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

15 věcí, které umí Windows 10, ale možná o nich vůbec nevíte

** Systém Windows 10 umí spoustu užitečných drobností ** O mnoha praktických funkcích pravděpodobně ani nevíte ** Poznejte užitečné tipy, které se vám mohou hodit každý den

Vladislav Kluska | 36


Aktuální číslo časopisu Computer

Velký test 18 bezdrátových sluchátek

Vše o přechodu na DVB-T2

Procesory AMD opět porážejí Intel

7 NVMe M.2 SSD v přímém souboji