brauchbar.de - WebDesign, Programmierung,Development in HTML, CSS, Javascript, PHP, Perl und mehr

[ Startseite | Artikel : HTML · JavaScript · CSS · Perl · Usability · Sonstiges | Services | Über ]


verwandte Artikel und Seiten

Umleitungsscript in Perl

von Thomas Salvador.

Hier möchte ich Ihnen ein kurzes CGI in Perl in die Hand geben. Erst der Source, dann etwas zum Sinn eines solchen Scriptes.

Der Source

#!/usr/local/bin/perl #<- Pfad zum Perl-Interpreter

## redirect - Umleitung
##
## (c) 1999 Thomas Salvador fuer den WebDesign-Newsletter und brauchbar.de
##     http://www.brauchbar.de/wd
##     Alle Rechte vorbehalten.
##
## Beliebige Nutzung ist erlaubt, *solange* diese Copyrightmeldung
## unveraendert und vollstaendig enthalten bleibt. Jegliche Nutzung
## mit veraenderter oder entfernter Meldung ist untersagt.
## Sie nutzen das Script auf eigene Gefahr.

   print "Location: ", $ENV{'QUERY_STRING'}, "\n\n";

## end-of-source

Die Copyright-Meldung ist länger als das eigentliche Programm, nicht schlecht. Aber ich möchte fast behaupten, kürzer geht es nicht, denn was soll man an Source streichen?

Wie funktioniert es?

Wir wollen das Programm in der Form http://cgi-bin/redirect.pl?url aufrufen. Das ist die Requestmethod get, bei der Parameter in der Umgebungsvariable QUERY_STRING geliefert werden. Da wir nur einen Parameter haben und diesen nicht einmal aufbereiten müssen, wird der Wert direkt ausgegeben. Der Browser erhält auf unsere obige Bespielanfrage also die Antwort "Location: url\n\n", was ihm sagt, dass er die Adresse url öffnen soll. Schon haben wir unsere Umleitung.

Was soll es?

Es stellt sich nun natürlich die Frage, was das Ganze soll? Welchen Sinn hat es, anstelle von z.B. http://www.yahoo.de zu schreiben

http://www.einesite.xxx/cgi-bin/redirect.pl?http://www.yahoo.de

In der ersten Form verlässt der Besucher Ihre Site, ohne dass Sie es merken. In der zweiten Form jedoch stellen Sie es fest, denn der Aufruf des CGI wird natürlich in Ihren Logfiles vermerkt. Das ist der eigentliche Unterschied. Der Referer-Eintrag im Logfile sagt Ihnen sogar noch, von welcher Seite aus Ihr Besucher das CGI aufgerufen hat!

Installation von CGIs in Perl

Es gibt zwei wesentliche Dinge, die Sie bei der Installation von Perl-Scripten beachten müssen. Zum einen muss das Script etwa per FTP im ASCII-Modus auf Ihren Account übermittelt werden. Binär übertragen, wird es nicht funktionieren.

Zum anderen die Rechte. Während compilierte CGIs für der WebServer ausführbar sind, sobald sie für alle ausführbar sind, müssen Scripte zusätzlich auch für jedermann betrachtbar sein, da der Perl-Interpreter das Script zum Lesen öffnen können muss. D.h. geeignete Rechte für ein Perl-Script sind etwa rwxr-xr-x. (755).

Um die Rechte anzupassen, bauen Sie eine TELNET-Verbindung zu Ihrem Account auf, wechseln dort in das Verzeichnis, in dem das Script gespeichert ist und sagen z.B.:

chmod 755 redirect.pl

Wenn Sie keinen TELNET-fähigen Account haben, verwenden Sie einfach ein entsprechenden FTP-Client. Zum Beispiel Leech FTP (Freeware von Jan Debis) und WS_FTP können das. Leider unterstützen dies scheinbar wieder nicht alle FTP-Zugänge.

Bei manchen Providern oder Free-Hostern werden die Rechte von .pl und .cgi Dateien automatisch auf 755 gesetzt.

Eines aber ist klar: haben Sie die Möglichkeit, eigene CGIs zu installieren, so haben Sie auch irgendeine Möglichkeit, Rechte zu setzen. Fragt sich nur, welche. Treten also Probleme auf, konsultieren Sie bitte Ihren Admin.

Nun viel Spaß.


Verwandte Artikel und Seiten



brauchbar web
Diese Site anlinken. Artikel zu CSS | HTML | JavaScript | Perl | Usability | Sonst. | nach Ausgabe.

Copyright © 1999-2015 Thomas Salvador und brauchbar.de . Alle Rechte vorbehalten. Gehostet bei all-inkl.
Reproduktion, ganz oder in Teilen, nur mit schriftlicher Zustimmung von Thomas Salvador. Impressum · Datenschutzerklärung · Kontakt.

zum Inhaltsverzeichnis der 1. Ausgabe.

Linken Sie bitte zu der festen Adresse http://www.brauchbar.de/wd/artikel/7.html .