Netscape hat Probleme mit FormMail-Script
Wolfgang
- perl
0 Henryk Plötz0 Wolfgang
Hallo Forum,
ich versteh die Welt nicht mehr. Da habe ich mir das Perl-Script FormMail in der neuesten Version 1.9 heruntergeladen und angepasst (sogar eingedeutscht!), das Online-Formular ebenfalls angepasst - alles streng nach den Vorgaben des README-Files - und siehe da: es funktioniert wunderbar. ABER NUR MIT DEM INTERNET EXPLORER!!!!!
Sobald ich mit Netscape 4.7 (egal ob MacOS oder Windows) das Formular abschicken will bekomme ich die Meldung, dass der Access denied wird. (Siehe ). Das Script gibt sogar noch einen Tipp, was zu tun sei - ABER DIESE URL IST BEREITS EINGETRAGEN!
Wie kann es sein, dass sich vom IE ein Script einwandfrei ausführen läßt und von NS nicht? Hat jemand einen Tipp. Vielen Dank schon mal!
Wolfgang
Moin
Wie kann es sein, dass sich vom IE ein Script einwandfrei ausführen läßt und von NS nicht? Hat jemand einen Tipp. Vielen Dank schon mal!
Leider ist meine Kristallkugel kaputt und ich kann dir so direkt nicht sagen, was kaputt ist.
Aber vielleicht ein paar Tipps: Lass dir an geeigneter Stelle im Skript die Umgebungsvariable HTTP_REFERER ausgeben und vergleiche den Inhalt im IE und in Netscape. Wenn das nicht geht oder du das nicht kannst, versuche ein Tool wie ethereal dass dir den Netzwerkverkehr anzeigt.
Untersuche dann, ob du Unterschiede findest, zwischen dem was der IE sendet und dem was Netsi ausgibt.
Falls du damit nicht weiterkommst, poste doch mal den interessanten Teil aus dem Skript, der Download von Matts Seite scheint nämlich nicht zu klappen.
H2H
--
Henryk Plötz
Grüße von der Ostsee
Moin
Moin Henryk,
danke für deine Antwort.
Wie kann es sein, dass sich vom IE ein Script einwandfrei ausführen läßt und von NS nicht? Hat jemand einen Tipp. Vielen Dank schon mal!
Leider ist meine Kristallkugel kaputt und ich kann dir so direkt nicht sagen, was kaputt ist.
Aber vielleicht ein paar Tipps: Lass dir an geeigneter Stelle im Skript die Umgebungsvariable HTTP_REFERER ausgeben und vergleiche den Inhalt im IE und in Netscape. Wenn das nicht geht oder du das nicht kannst, versuche ein Tool wie ethereal dass dir den Netzwerkverkehr anzeigt.
Untersuche dann, ob du Unterschiede findest, zwischen dem was der IE sendet und dem was Netsi ausgibt.
Bin leider kein Profi. Ich lass mit mal HTTP_REFERER ausgeben, vielleicht kann mich dann was erkennen. Ich melde mich noch einmal.
Falls du damit nicht weiterkommst, poste doch mal den interessanten Teil aus dem Skript, der Download von Matts Seite scheint nämlich nicht zu klappen.
Hier ist die Stelle im Programmcode. Kannst du was damit anfangen?
**********
&return_html;
sub check_url {
# Localize the check_referer flag which determines if user is valid. #
local($check_referer) = 0;
# If a referring URL was specified, for each valid referer, make sure #
# that a valid referring URL was passed to FormMail. #
if ($ENV{'HTTP_REFERER'}) {
foreach $referer (@referers) {
if ($ENV{'HTTP_REFERER'} =~ m|https?://([^/]*)$referer|i) {
$check_referer = 1;
last;
}
}
}
else {
$check_referer = 1;
}
# If the HTTP_REFERER was invalid, send back an error. #
if ($check_referer != 1) { &error('bad_referer') }
}
**********
H2H
--
Henryk Plötz
Grüße von der Ostsee
Moin
Ich habe dir per Mail wesentlich ausführlicher geantwortet, aber damit das Archiv auch eine Lösung hat:
<form action="http://will-metallbau.de/cgi-bin/formmail.cgi"
name="kontakt" method="POST" enctype="text/plain">
^^^^^^^^^^^^^^^^^^^^
Dieser enctype und vor allem das, was Netscape dann sendet scheinen das Skript zu verwirren. Wenn du den rauslässt, dann klappt's auch mit Netscape.
Hat vielleicht einer von den Perl-Cracks eine Idee, wieso?
--
Henryk Plötz
Grüße von der Ostsee