Hallo,
Hell-O!
In was für einem HTML-Element landen die Ausgaben des Scripts?
Momentan in einer Textarea.
my $urlToLoad = param('URL') || die "No Url given";
Fatal error: $urlToLoad is tainted.
Diese Meldung kommt bei mir nicht (auch nicht, wenn ich -T verwende), liegt vielleicht an der veralteten Perlversion (5.005).
Heisst das ich sollte einen Check auf gueltige Zeichen einbauen?
z.B. mit einem regExp?
Daneben solltest du das Script nicht einfach so sterben lassen, sondern eine vernünftige Meldung zurückgeben, die den armen User, der mit AJAX putzt und Perlen verschenkt, nicht verwirrt.
klingt vernuenftig (zumindest der erste Teil. Das mit AJAX putzen versteh ich net so ganz ;)
Hab mir jetzt folgende einfache Routine gebaut, die ich anstatt "die" aufrufe:
sub errOut($)
{
print "<span style='color:red'>$_[0]</span>";
exit;
}
Ist das jetzt gut, oder sollte man es auch nicht so machen?
my $content = get($urlToLoad);
print $content;Du kannst das Ganze vereinfachen und solltest zudem eine Fehlerabfrage einbauen:
defined get($urlToLoad) ? getprint($urlToLoad) : print "Fehler beim Lesen von $urlToLoad.";
"getprint(...)"? Meinst du vielleicht "print get(...)"
Aber hier koennte ich auch wieder die oben genannte Routine wie bei param verwenden.
Aber worauf ich eigentlich hinauswollte ist, dass du in eine komplette HTML-Datei keine weitere komplette HTML-Datei einbauen solltest. Gegebenenfalls parse das Ergebnis bereits serverseitig und liefere nur den gewünschten Teil aus.
Das sehe ich auch so, aber es ist ja nur zu Testzwecken.
mfG,
steckl