Wer auf seiner Domain ein Script hat, welches er von außen Schützen möchte, entweder dass die Datei von eine anderen Webseite aufgerufen wird oder dass man die URL direkt in den Browser eingibt kann das mit der .htaccess realisieren.
In der .htaccess wird ein „Referrer Check“ eingebaut, dieser erlaubt dann nur das aufrufen des Skriptes bzw. der Datei wenn man diese auf der eigenen Homepage verlinkt.
Inhalt .htaccess:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^http://www.meine-domain.de/.*$ [NC] RewriteRule ^skript.php$ [F] # optional für Dateiendungen RewriteRule .(jpe?g|gif|bmp|png)$ - [F]
Wenn man nun auf seiner eigenen Homepage eine Link setzt:
Funktioniert dieses Skript ohne Probleme (außer wenn der Referrer mittels Firewall geblockt wird)
Gibt man nun aber in die URL Zeile des Browser „http://www.meine-domain.de/skript.php“ ein wird dieses Skript oder die Datei nicht ausgeführt, da der Browser den Referrer nicht übertragen hat. Ebenso ist es auch, wenn das Skript bzw. die Datei von außerhalb verlinkt wird. Da der Referrer nicht mit der eigenen Domain übereinstimmt, wird hier auch wieder geblockt.
Der Aufbau der zwei Zeilen ist eigentlich recht simpel.
Wenn der Referrer nicht mit „http://www.meine-domain.de“ übereinstimmt verweigere den Zugriff auf die Datei „skript.php“
Einige Zeichen aus der .htaccess:
„!“ bedeutet wenn nicht dem Ausdruck gleich
„^“ ist Start von einer Zeichenkette
"$“ ist Ende von einer Zeichenkette
[NC] Groß / Klein Schreibung wird unterschieden
[F] Forbidden (Verboten) hier wird dann der 403 Header Code gesendet
Hallo verehrter "Hotlinking-Schutz"-Autor.
Ich habe lange Zeit nach einem Beispiel gesucht, dass mir einen Weg aufzeigt, bestimmte Dateien innerhalb meiner WebSite gegen nicht regelkonforme Zugriffe zu verbergen, jedoch regelkonforme Zugriffe über meine WebSite zulässt.
Habe Ihre Mustercodierung, natürlich auf meine Gegebenheiten vorab angepasst, dann übernommen und auch ins richtige Verzeichnis eingefügt und ausprobiert.
Ergebnis: Kein Erfolg !
Möchte Sie hiermit um weitere Unterstützung bitten.
Wenn Sie mir weiterhelfen wollen, bitte ich Sie, mir Ihre Bereitschaft zu signalisieren. Ich werde Ihnen dann meine diesbezüglichen Versuche ausführlicher dokumentieren.
Gerne erwarte ich Ihre Antwort. Danke !
MfG Peter
Vielen Dank, funktioniert Super !
Anmerkung (falls jemand Probleme hat):
Statt "http://www.meine-domain.de/" muss die Adresse eingetragen werden, von dem der Nutzer zugreifen darf (inkl. Pfad und abschließendem Slash), hier ein Beispiel :
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www.meine-domain.de/dateien/.*$ [NC]
RewriteRule ^skript.php$ [F]
# optional für Dateiendungen
RewriteRule .(jpe?g|gif|bmp|png)$ - [F]
In diesem Beispiel wären Zugriffe die VON "http://www.meine-domain.de/dateien/" kommen, zu dem Verzeichnis erlaubt in dem die .htaccess liegt.
Great! Diese Moeglichkeit suchte ich schon lange. Es funktioniert optimal!
Servus!
Vielen Dank für das Posting - hab auch ne Weile lang nach sowas gesucht.
Wo kann man die gesamten Steuercodes und Syntax für die .htaccess nachlesen? Du hast ja nur einen kleinen Ausschnitt von dem, was möglich ist, gegeben.
Danke vorab!
Hi Markus,
einfach Deine Lieblingssuchmaschine anschmeißen und nach "htaccess cheat sheet" suchen. Kannste auch für PHP, Apache,Perl usw. dann bekommen.
Pingback: OR005 – Ereignis SEO und Bilder SEO | OnlineRadar.de
Funktioniert bei meiner Site nicht,es werden nur meine eigenen Bilder auf meiner Site nicht mehr Angezeigt.Lösche ich die neu Erstellte .htaccess wieder werden die Bilder wieder Angezeigt.