Hallo,
require "cgi-lib.pl";
wie Bernhard schon sagte, ist das eigentlich unnötig, da Du ja auch
use CGI qw|:standard|;
verwendest. Der Ordnung halber schreibe ich sowas auch gleich am Anfang des Scripts hin.
$Server = $ENV{REMOTE_HOST};
Gut in der Idee, aber... $ENV{REMOTE_HOST} ist nicht zwangsläufig vorhanden.
$ENV{REMOTE_ADDR} ist da sicherlich die bessere Wahl.
$BadServer = "proxy.zdf.de";
if ($Server != $BadServer) {
Wie Bernhard ebenfalls schon bemerkte, 'ne' statt '!=', da Du ja keinen Vergleich von Zahlen machen willst.
if ($Server != $BadServer) {
$url = "http://www.heise.de";
}
else {
$url = "http://www.linux.de";
}
Ich bevorzuge in solchen Fällen, eine eher restriktive Prüfung.
Zumindest solltest Du die Existenz von $Server abfragen. Wenn immer der 'else'-Zweig einer Abfrage ausgeführt wird, hat das meist den Grund, daß die Bedingung nicht sauber ist.
Also beispielsweise:
if (($Server) and $Server ne $BadServer)
{
$url = "http://www.heise.de";
}
else
{
$url = "http://www.linux.de";
}
Abgesehen davon, ist die Auswertung von IP-Adressen des Clients sicherlicht nicht ein gutes Mittel eines BEnutzers, da sich die IP-Adresse im Laufe eines Besuchs Deiner Seiten auch ändern kann. Denke nur an Einwahlverbindungen des Clients.
Grüße
Klaus