Autor |
|
|
content\downloads vor Direktverlinkungen schützen |
|
|
Administrator
1310 Beiträge - Hardcoreposter
|
|
|
Hallo.
Dieses Tuto richtet sich an alle Webmaster, die sich vor Direktverlinkung und damit zu hohem Trafficaufkommen schützen wollen. Ich bin nach dieser Lösung gefragt worden und denke, daß sie Euch auch interessieren wird.
Diese Lösung bezieht sich ausschliesslich auf kleinere Dateien unter 16MB und funzt hauptsächlich mit .rar Dateien.
Wenn Ihr Zugriff auf den ApacheServer habt, dann bedient Euch der Lösung in dem nachfolgenden Posting.
Was ihr machen müßt ist folgendes.
Erstellt eine .htaccess Datei, mit folgendem Inhalt:
| Quell-Code: | |
| AuthType Basic
| AuthName \"Direktzugriff verboten - Deeplinking prohibited!\"
| require valid-user
|
|
|
|
|
Falls Ihr Probleme damit habt, solch eine Datei zu erstellen, erstellt einfach eine bla.txt und bennent diese dann um.
Diese Datei ladt Ihr in den Ordner phpkit/content/download hoch. Sie braucht chmod 664 (default)
Dann editiert Ihr die downloads.php im Ordner phpkit/content
ersetzt die Zeile 28
| Quell-Code: | | if ($download && $download!=$config['content_downloadpath'].'/') {header(\"location: \".$download); exit();}
|
|
|
|
mit diesem Inhalt:
| Quell-Code: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
|
| if ($download && $download!=$config['content_downloadpath'].'/')
| {
| $downfile = explode(\"/\",$download);
| $dfile = \"content/download/\".$downfile[2];
| header(\"Cache-Control: must-revalidate, post-check=0, pre-check=0\");
| header(\"Content-Type: application/force-download\");
| header(\"Content-Length: \" . basename(filesize($dfile)));
| header(\"Content-Disposition: attachment; filename=\".basename($dfile).\"\");
| readfile($dfile);
| exit();
| }
|
|
|
|
|
Wenn jetzt jemand von extern zugreifen möchte, bzw die Dateien direkt verlinken möchte, müßte er sich vorher authentifizieren. Er kann noch so oft probieren, eine Authentifizierung ist für niemanden möglich.
MfG
-Notag
Der Post wurde 3 mal editiert, zuletzt von ={ELITE}= Notag [GER] am 02.04.2005 - 13:04.
|
Beitrag vom 16.03.2005 - 17:32 |
|
|
|
Administrator
1310 Beiträge - Hardcoreposter
|
|
|
Dieses Tutorial interessiert nur die, die auch Zugriff auf den Apache haben und die httpd.conf ändern können.
(Oder Ihr habt einen netten Provider, der es für Euch macht)
Als erstes brauchen wir mal wieder eine .htaccess im Ordner /download/
Dort kopiert Ihr folgenden Inhalt rein.
| Quell-Code: | | RewriteEngine on
| RewriteCond %{HTTP_REFERER} !^$
| RewriteCond %{HTTP_REFERER} !^http://(www.)?euredomain.de/.*$ [NC]
| RewriteCond %{HTTP_REFERER} !^http://(www.)?euredomain.de.*$ [NC]
| RewriteRule .(gif|jpg|zip|exe|png|pdf|pk3|rar|rfa|gz|mp3)$ - [F]
|
|
|
|
ACHTUNG: euredomain.de bitte mit Eurer URL ersetzen.
Jetzt müßt Ihr an die Apache-Steuerungsdatei ran, die httpd.conf.
Dort tragt Ihr am Ende folgendes ein:
| Quell-Code: | | <Directory \"/srv/www/htdocs/webX/html/content/download\">
| Options +FollowSymLinks +SymLinksIfOwnerMatch
| </Directory>
|
|
|
|
ACHTUNG: Der angegebene Pfad /srv/www/htdocs/webX/html/... müßt Ihr natürlich auf Eure Bedürfnisse anpassen. Es muss der absolute Pfad zum Ordner sein.
Jetzt muss der Apache restartet werden mit zB: /etc/init.d/apache2 restart
Vielen Dank an Rommel der mit diesen Weg aufzeigte.
MfG
-Notag
Der Post wurde 1 mal editiert, zuletzt von ={ELITE}= Notag [GER] am 02.04.2005 - 13:25.
|
Beitrag vom 02.04.2005 - 13:24 |
|