Referring URL Deny mit IIS

Stefu

Angesehenes Mitglied
Hallo Leute

Von meiner Apache Umgebung, kenne ich die Möglichkeit, unerwünschte Referer zu blocken. Sprich Leute, die von bestimmten Websites kommen werden automatisch abgeblockt.

Meine Frage lautet nun, wie ich auf einem IIS Windows Umgebung folgendes bewerkstelligen kann:

Auf eine Subdomain soll der Zugriff nur möglich sein, wenn der Refferer von einer bestimmten Seite stammt. Sprich: Alle Zugriff werden geblockt wenn der User nicht von einer bestimmten Seite kommt.


Besten Dank für Eure Inputs.

 
QUOTE
Einschränken des Zugriffs nach IP-Adressen
Die .Htaccess-Datei verwendet die Anweisungen Order, Allow und Deny, um den Zugriff nach der IP-Adresse (Internet Protocol) oder dem Domänennamen zu beschränken.

So beschränken Sie den Zugriff gemäß der IP-Adresse oder dem Domänennamen in IIS:
1. Klicken Sie mit der rechten Maustaste auf den Ordner, die vorhandene Datei oder die Website, und klicken Sie auf Eigenschaften.
2. Klicken Sie entweder auf Dateisicherheit oder auf Verzeichnissicherheit.
3. Klicken Sie unter Beschränkungen für IP-Adressen und Domänennamen auf Bearbeiten.
Hinweis: Im Gegensatz zu Apache trifft bei IIS die explizite Anweisung Verweigern immer zu, selbst wenn diese normalerweise von der Anweisung Zulassen überschrieben würde.



Sieht sehr vielversprechend aus! Werde dies demächst testen. Besten Dank.
 
Eigentlich kann man solche Dinge beim IIS exzessiv im Rahmen einer NET-Anwendung machen.

Eine Klasse entweder von der Page-Klasse ableiten (Inherits System.Web.UI.Page) oder sie die die IHttpHandler-Schnittstelle implementieren lassen (Implements IHttpHandler). Damit läßt sich beliebiger Code einfügen.

Initialisiert wird das, indem in der web.config einzelne Dateiendungen, die .NET zugeordnet sind, auf diese Klassen gelenkt werden. Oder man hängt die Klasse gleich im IIS ein, so daß alle Abfragen über die Klasse gehen.

Bei server-daten.de gehen inzwischen so gut wie alle Zugriffe über solche eingehängten Klassen. Eine Url beispiel.server-daten.de/tabellen.html wird intern (wegen der Html-Endung) auf eine Klasse gelenkt, die prüft, ob in der Datenbank 'beispiel' eine Ausgabeseite tabellen.html existiert, falls ja und falls die Berechtigung besteht, wird geliefert. Ähnliches gilt für Downloads, für das Abfangen des IP-Aufrufs (80.237.183.228) oder für die Reaktion auf nicht unterstützte Dateitypen (Endung php).

Letzteres würde dir eigentlich genügen - nur kann auf der Ebene einer web.config - Datei kein Referer überprüft werden.

PS: Der Hinweis von Duvi nützt nichts - diese Konfigurationsebene ist noch vor der web.config. Das sind bloß IP-Nummer-Einschränkungen vor einer möglichen NET-Anwendung.
 
Dank jAuer für deinen Beitrag. Wenn es möglich ist, müsste der Zugriff umbedingt auf Serverebene geregelt werden. Weshalb mir die Inputs von Duvi nichts nützen sollen, verstehe ich nicht ganz.
Ich habe im IIS nun folgende Setting gefunden (siehe Bild)

Ich denke dies müsste doch eigentlich klappen oder? Der Access wird per Default denied ausser er kommt von test.ch

Anhang anzeigen 2

 
Mit der Anweisung legst Du fest, daß nur der Client test.ch auf die Webanwendung zugreifen darf.

Das wäre so, wie wenn eine Firma sagt: Nur die Rechner aus dem lokalen Netzwerk 192.168 dürfen auf den IIS zugreifen. Das spart die Firewall - aber fragt nicht den Referer ab.

PS: Das Problem ist relativ simpel: NET bietet für solche Fälle unendlich viele Varianten. Diese einfachen Varianten, wie sie über die htaccess möglich sind, fehlen deshalb.

Edit: Yep, Duvi, das ist genau das Problem. Die htaccess ermöglicht es, diverse andere Servervariablen abzufragen - kann dann aber auch bloß umleiten. Diese anderen Servervariablen stehen innerhalb des IIS gar nicht zur Verfügung, an die kommt man erst mit NET ran. Und da kann man dann sofort alles machen, was man sich nur vorstellen kann (bsp. Kommunikation mit NET-Windows-Diensten, die im Hintergrund PDF-Dokumente generieren oder Massenmailings verschicken, Freigabe nach einer Berechtigungsprüfung über die Datenbank, eine c:\sd\www\images\kundenname.ico als kundenname.server-daten.de/favicon.ico ausliefern).
 
QUOTE Ich denke dies müsste doch eigentlich klappen oder? Der Access wird per Default denied ausser er kommt von test.ch

wenn ich das von jürgen jetzt verstanden habe, würdest du dann alle besucher blockieren die nicht die ip von test.ch haben. und das sind dann wohl alle ...
du willst ja die herkunftswebseite (referrer) abfangen. in der htaccess bezieht sich allow und deny ja auch nicht auf den referrer.

edit: zu langsam gewesen
smile.gif
 
Zurück
Oben