Tach!
$visitor_referer = 'Nix'; $visitor_referer = $_SERVER["HTTP_REFERER"]; // HTTP Referer-Link
Meinst Du das quasi so?
Ja.
... aber nur quasi. Denn so wie der Code oben steht, ist es sinn- und wirkungslos. Der Zugriff auf das Array-Element in $_SERVER darf ja nur erfolgen, wenn es da ist, wozu aber seine Existenz geprüft werden muss. Und der Code da oben ist wieder nur ein unbedingter Zugriff, so wie er bereits im Code war.
$mail_text .= "<b><a href='http://$visitor_server$visitor_request'>http://$visitor_server$visitor_request</a></b></p>"; $mail_text .= "<p>HTTP Referer: <b><a href='$visitor_referer'>$visitor_referer</a></b></p>"; $mail_text .= "<p>User Agent: <b>$visitor_agent</b></p>";
Und das sind drei Sicherheitslücken, die beliebigen Code in die Mail einfügen lassen. Referer und User-Agent sind zwei Texte, die nicht nur vom Browser vorgegeben sind, sondern beliebig manipuliert werden können. Bei den anderen Werten müsste man eigentlich adäquat verfahren, aber die sollten eigentlich manipulationssicher sein. Zumindest in der jetzigen Form des Scripts. Wenn du das noch änderst, zum Beispiel dne Absender-Adresse beim Anwender zu erfragen statt einen Wert fest vorzugeben, dann muss da auch noch was getan werden, wenn du keine ausnutzbare Spamschleuder bauen möchtest. So werden die Sicherheitslücken entschärft:
$mail_text .= '<b><a href="http://' + $visitor_server + urlencode($visitor_request) + '">http://' + $visitor_server + htmlspecialchars($visitor_request) + '</a></b></p>';
$mail_text .= '<p>HTTP Referer: <b><a href="' . htmlspecialchars($visitor_referer) + '">$visitor_referer</a></b></p>';
$mail_text .= '<p>User Agent: <b>' + htmlspecialchars($visitor_agent) + '</b></p>';
dedlfix.