Mysmilies.net die Smilies Datenbank

Script oder Datei finden :

 
-Startseite
-Newsarchiv
-Newsletter
-Mein Dreamcodes
-Scripte
-eBooks
-Online Speicher
-Datenbanken
-Webseiten
-Trickfilm
-Web Grafiken
-Bildbearbeiter
-Browser
-EMail Software
-Ftp Clienten
-Betriebssysteme
-Texteditoren
-Wampserver
-Office Pakete
-Antivirus
-System Cleaner
-Recovery Tools
-Php Schnipsel
-Ajax Schnipsel
-VB Schnipsel
-Tutorials
-Workshops
-Webkatalog
-Leserforum
-Erweiterte Suche
-Sitemap
-Impressum
-neuste Downloads

1. Selfphp (1727)
2. Xampp OS X (1625)
3. Xampp Linux (1616)
4. Xampp Windows (1627)

-neuste Tutorials

1. Samsung S20 rooten (1291)
2. Gratis USA Nummer (14675)
3. RAID (13707)
4. Text auf Grafik (14373)


Tutorials .htaccess Bspl

 

.htaccess Bspl

Mit Hilfe der .htaccess Datei, kann man so manches möglich machen, was anders nicht, oder nur mit erheblichem Mehraufwand zu erreichen ist.
Nahezu jede Direktive kann mittels der .htaccess Datei "überschrieben" werden, allerdings erlaubt nicht jeder Provider den Einsatz der .htaccess Datei, oder beschränkt sie auf ein Minimum an Funktionalität.
In solch einem Fall ist einfaches Ausprobieren oder den Provider fragen angesagt.

  1. SSI Serversideincludes in einfachen .html Dateien verwenden
  2. URL Umleitung
  3. Einfacher Passwortschutz
  4. Bilder schützen
  5. User aussperren
  6. Eigene Fehlerseiten definieren
  7. Clients aussperren

1. SSI Serversideincludes in einfachen .html Dateien verwenden

Da hat man nun seine ganze Website fertig, in den Suchmaschinen ist sie auch schon aufgenommen und ein paar nette Leute haben einen auch schon verlinkt.
Jetzt möchte man aber ein paar SSI Funktionen benutzen, doch dies geht nur, wenn man die Dateien umbenennt, z.B. von index.html nach index.shtml.
Folge: Die Seite wird nicht mehr gefunden, Links führen ins Leere.
Was nun?
Zum Glück hält der Apache für solche Fälle ein paar Direktiven bereit, die dieses Problem lösen.

Erste Methode:

Man "zwingt" den Server dazu alle *.html Dateien zu paarsen.
Das kann man mit folgendem Eintrag in der .htaccess erreichen:

Addhandler server-parsed .html

Dies ist allerdings eine meiner Meinung nach wenig elegante Methode, wo doch so auch Seiten gepaarst werden, wo es nix zu paarsen gibt, zudem kann unter Umständen soagr die Performance des Servers dadurch beinträchtigt werden (aber auch nur wenn extrem viele Zugriffe erfolgen).
Die zweite Methode ist der XBitHack.

Zweite Methode:

Mit der XBitHack Direktive kann gezielt das Paarsen ganz normaler HTML Dokumente gesteuert werden. Diese Direktive ist allerdings nur auf Dateien anwendbar, die dem MIME Typ text/html zugeordnet sind, also eben ganz normale HTML Dateien.
Desweiteren muss die Datei, die gepaarst werden soll, als "Ausführbar" gekennzeichnet sein, in den Dateiattributen muss also das "execute" Bit gesetzt sein.
Folgendes wird in die .htaccess Datei eingetragen, um die XBitHack Direktive zu nutzen:

XBitHack on

Zudem müssen für für jede Datei, auf die die XBitHack Direktive angewendet wird, die Ausführungsrechte gesetzt sein, d.h. das Datei Attribut "Ausführbar (execute)" muss gesetzt sein. Unter Linux/UNIX einfach auf die entsprechende Datei ein "chmod 744 oder 755" ausführen.
Benutzer der FTP Software WSFTP-Pro können über die in WSFTP eingebauten FTP-Befehle die entsprechenden Rechte setzen.

"on" schaltet den XBitHack ein, statt "on" kann man noch "off" und "full" verwenden.
Mit "off" schaltet man die Direktive aus (das ist übrigens auch die Standardeinstellung des Servers), und "full" ist im Prinzip dasselbe wie "on", nur dass zusätzlich das "group-execute bit" der Datei ebenfalls gesetzt sein muss.

Das Ganze hört sich komplizierter an, als es ist, etwas Erfahrung im Umgang mit Dateien und Dateiattributen ist allerdings Vorraussetzung.


2. URL Umleitung

Einzelne Seiten in ein anderes Verzeichnis verschoben?
Die komplette Domain auf eine andere Domain weiterleiten?
Kein Problem mit diesen Direktiven:

Redirect url-pfad url

Beispiel:

Redirect /index.html http://www.eineganzanderedomain.de/index.html
oder: Redirect /verzeichnis http://www.selbedomain.de/aber/anderes/verzeichnis

url-pfad muss als absoluter Pfad angegeben werden, eine Angabe als relativer Pfad funktioniert nicht.

Möglich ist aber auch RedirectMatch, diese Direktive arbeitet genauso wie Redirect, nur mit dem Unterschied, dass hier "reguläre Ausdrücke" zur Anwendung kommen können.

RedirectMatch regex url

Beispiel:

RedirectMatch (.*)\.gif$ http://www.anderedomain.de$1.jpg
Hier werden alle Aufrufe von *.gif Dateien auf gleichnamige *.jpg Dateien auf einem anderen Server umgeleitet.

Beispiel2:

RedirectMatch (.*)\cmd.exe$ http://www.microsoft.com
Da in letzter Zeit einige Würmer zu zweifelhafter Popularität gelangt sind, kann man mittels RedirectMatch Anfragen solcher Würmer an den eigenen Server an eine bekannte Firma aus Redmond weiterleiten ;-).


3. Einfacher Passwortschutz

Ein bestimmter Bereich der Website soll nur Auserwählten zugänglich gemacht werden?
Mit der .htaccess Datei überhaupt kein Problem.

Folgendes sollte in der .htaccess stehen:

AuthType Basic
AuthName plantage
AuthUserFile Pfad zur Passwortdatei
require valid-user

In der Passwortdatei stehen die berechtigten User und ihr "verschlüsseltes" Passwort.


4. Bilder schützen

Ständig verlinken andere Websites auf Deine Kunstwerke, sie binden sie einfach per URL in ihre Webseiten ein und verursachen so nur zusätzlichen Traffic auf der eigenen Seite.
So kann man es unterbinden:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?Dreamcodes.de/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]

Erklärung:

RewriteEngine on Hiermit wird die Rewriting Engine des Apache aktiviert.

Mit RewriteCond werden die Bedingungen definiert, wann die RewriteRule Direktive anzuwenden ist.

RewriteCond %{HTTP_REFERER} !^$
Der HTTP-Referer (Der HTTP-Referer ist der URL der Seite, aus der der abgerufene Link angeklickt wurde) darf nicht mit der Bedingung ^$ übereinstimmen, (das "!" steht für nicht).

RewriteCond %{HTTP_REFERER} !^http://(www\.)?Dreamcodes.de/.*$ [NC]
Hier darf der empfangene Referer nicht mit dem der eigenen Seite übereinstimmen.
[NC] steht für "no case" und besagt, dass bei dem Vergleich nicht zwischen Groß- und Kleinschreibung des Referers unterschieden wird.

Die seltsamen Zeichen sind sogenannte "reguläre Ausdrücke", wer mehr darüber erfahren möchte, kann sich diese Seiten hier anschauen:
http://www.lrz-muenchen.de/services/schulung/unterlagen/regul/
http://develnet.org/tech/dclp/regexp.html
http://www.ideenreich.com/programmierung/regulaere_ausdruecke.shtml

Jetzt folgt die RewriteRule, die Regel die angewendet wird, wenn die vorhergehenden Bedingungen zutreffend sind.
\.(gif|jpg)$ - [F] der Zugriff auf Dateien mit den Endungen .gif und .jpg ist verboten
[F]
steht für "forbidden" und liefert den Statuscode 403 - forbidden zurück.

Und so kann man dem Bilderdieb sogar noch ein anderes Bild unterschieben:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?Dreamcodes.de/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.Dreamcodes.de/images/dieb.gif [R,L]

Erklärung:

Die RewriteRule besagt jetzt, dass bei dem Aufruf einer beliebigen Datei mit der Endung .gif oder .jpg, dieser Aufruf auf eine andere Datei umgelenkt wird.
[R] steht für "force redirect", was den Redirect erzwingt, und [L] "last rule" steht für "Dies war die letzte Regel: Gehe mit dem aktuellen URL zum Anfang der Regel zurück".


5. User aussperren

Surfer die von ganz bestimmten Domains kommen dürfen nicht auf die Seiten drauf?

Benutzer von einer bestimmten IP-Adresse dürfen nicht auf den Server zuzugreifen. Alle anderen dürfen ;-). Macht eigentlich wenig Sinn, da die meisten Surfer mit eine dynamischen IP-Adresse unterwegs sind.


deny from 80.132.187.109 dies ist übrigens eine T-Online IP ;-)

Besser ist dies:

order deny,allow
allow from 80.132.187.109
deny from all

Surfer aus einer ganz bestimmten Domain dürfen auf die Seite drauf, alle anderen müssen leider draußen bleiben. Das "order deny,allow" heißt, dass die "deny" (Verbots) Regel vor der "allow" (Erlaubnis) Regel abgearbeitet wird.
"allow from ip-adresse oder ein domain-name" gibt die Erlaubnis zum Betreten der Website für alle Besucher, die von dieser einen IP-Adresse aus kommen.
"deny from all" ist das Betreten verboten Schild für alle anderen.

Bei über das Internet zugänglichen Seiten übrigens ein schwieriges Unterfangen, da ja wie oben gesagt, die meisten Surfer mit wechselnden IP-Adressen unterwegs sind.
Man könnte so allerdings alle AOL oder T-Online Nutzer ausperren, sofern einem die von diesen Providern verwendeten IP-Adressen bekannt sind ;-)


6. Eigene Fehlerseiten definieren

Die Standardseiten, die der Apache liefert, wenn etwas nicht gefunden wurde sehen ziemlich bescheiden aus.
So kann man den Webserver dazu bringen stattdessen andere, viel schönere Seiten anzuzeigen.

ErrorDocument 402 http://www.domain.de/402.html
ErrorDocument 403 http://www.domain.de/403.html
ErrorDocument 404 http://www.domain.de/404.html

Sollte eigentlich soweit selbsterklärend sein ;-)


7. Clients aussperren

Mit sogenannten Offline-Readern oder Websaugern ist es möglich ganze Website mit einer hohen Geschwindigkeit herunterzuladen.
Diese Programme erzeugen dabei nicht selten Unmengen von 404 Fehlern in den Serverlogs und jede Menge unnötigen Traffic.
Möchte man vermeiden, dass diese Programme auf die eigene Website zugreifen können, so lässt sich das mittels der RewriteEngine erledigen.

Beispiel:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^ClientXYZ.*
RewriteRule ^/.* - [forbidden]

Kommt eine Anfrage vom ClientXYZ, so wird ihm über die RewriteRule der Zugriff verweigert.

Es ist möglich mehrere Clients gleichzeitig auszusperren, für jeden dieser Clients ist dann eine eigene RewriteCond Anweisung nötig, die mit einem logischen ODER verknüpft werden.

Beispiel:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^ClientABC.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^ClientXYZ.*
RewriteRule ^/.* - [forbidden]

Noch einen Schritt weiter kann man gehen, wenn man einem ganz bestimmten Client, der von einer ganz bestimmten Domain stammt aussperren möchte.

Beispiel:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^ClientABC.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^ClientXYZ.*
RewriteCon %{REMOTE_HOST} ^www\.anderedomain\.tld$ [NC]
RewriteRule ^/.* - [forbidden]

anstatt den Zugriff zu verbieten, kann man natürlich auch eine Umleitung einrichten.

Beispiel:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^ClientABC.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^ClientXYZ.*
RewriteCond %{REMOTE_HOST} ^www\.anderedomain\.tld$ [NC]
RewriteRule ^/index\.html$ /error.html [R,L]

Versucht ClientABC oder ClientXYZ von der Domain www.anderedomain.tld kommend auf die Seite index.html zuzugreifen, so wird ihm stattdessen die Seite error.html präsentiert.

Um diese Regeln effektiv anwenden zu können, muss einem natürlich der HTTP_USER_AGENT des zu sperrenden Clients bekannt sein.

So könnte der Inhalt der .htaccess aussehen:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^WebCopy.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetcher.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Wget.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebMirror.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^fetch.*
RewriteRule ^/.* - [forbidden]

Diese Art des Ausschliessens bietet leider keine 100% Sicherheit, da die meisten Programme zum Sitedownload in der Lage sind sich zu tarnen, d.h. sie bieten die Option ihren USER_AGENT zu verändern.
Den USER_AGENT Mozilla auszusperren sollte man tunlichst vermeiden, da die meisten Browser sich als Mozilla identifizieren.

 

Seitenanfang

 
Seiten : 1
hinzugefügt am : 29.12.2004
Autor : NA
Listings ID : 579
Status zum lesen : Gast
gelesen : 22305 mal
[Druckansicht] [Lesercharts] [RSS] [zur Übersicht]
 
 

Die Möglichkeit diesen Artikel zu verlinken :

HTML-Code:

Code zum Einbinden in ein Forum:


Hinweis : Das lesen des Artikels .htaccess Bspl - listings ID: 579 auf Dreamcodes, sowie Link Verweise auf Internetseiten fremder Anbieter erfolgen auf eigene Gefahr. Dreamcodes haftet nicht für Schäden, die aus der Verwendung des Inhaltes der Artikel erfolgen könnten. Schadenersatzansprüche, aus welchem Rechtsgrund auch immer, sind ausgeschlossen !
-Live Statistik
Datum: 20.04.2024
Uhrzeit: 07:44 Uhr
Online: 12 User
User heute: 2961
User allgem.: 33660864

Eingeloggt als Gast
-Download des Monats
-
-unsere Monats Umfrage
Welche Serie ist besser?

The Blacklist
House of the Dragon
Die Ringe der Macht
The Sandman
Manifest

-unsere Bestseller