spams
jo
- recht
0 Skeeve0 Alexander Brock0 jo3 Spam-Verhinderung
dedlfix- php
0 jo0 jo0 Alexander Brock0 Mathias Brodala0 jo
Hallo leute, auf meiner webseite ist ein kontaktformular und über das wird gespamt, sagt mein provider und sperrt die domäne bis ich ein "sicheres" formular habe - darf der das??
gruss jo
Moin!
darf der das??
Wenn Du die Sicherheit des Rechenzentrums/Servers gefährdest würde ich mal schwer vermuten: Ja.
-- Skeeve
Moin!
P.S.: Ich finde, der Provider verhält sich vorbildlich!
-- Skeeve
Moin!
P.S.: Ich finde, der Provider verhält sich vorbildlich!
-- Skeeve
ok Danke
dann werde ich das formular ändern
gruß jo
Hallo Forum,
Hallo leute, auf meiner webseite ist ein kontaktformular und über das wird gespamt, sagt mein provider und sperrt die domäne bis ich ein "sicheres" formular habe - darf der das??
Zeig doch mal den Quelltext des Formulars, dann können dir hier sofort fünf Leute erklären was der Fehler ist und wie du ihn verbesserst :-)
Gruß
Alexander Brock
Hallo Forum,
Hallo leute, auf meiner webseite ist ein kontaktformular und über das wird gespamt, sagt mein provider und sperrt die domäne bis ich ein "sicheres" formular habe - darf der das??
Zeig doch mal den Quelltext des Formulars, dann können dir hier sofort fünf Leute erklären was der Fehler ist und wie du ihn verbesserst :-)
Gruß
Alexander Brock
Hallo,
Quelltext kontakt.php
#############
<form action="kontakt_antwortmail.php" method="post">
<p>Anrede: Name:<br>
<input type="text" name="anrede" value="" size="7" style="background-color : #F4F4F4;">
<input type="text" name="name" value="" size="28" style="background-color : #F4F4F4;"><br>
Ihre E-Mail-Adresse:<br>
<input type="text" name="email" value="" size="40" style="background-color : #F4F4F4;" ><br>
Bei gewünschten Rückruf / <br>Tel. Nummer:<br>
<input type="text" name="tel" value="" size="40" style="background-color : #F4F4F4;"><br>
Ihre Anfrage:<br>
<textarea name="text" value="" cols="30" rows="5" style="background-color : #F4F4F4;"></textarea><br>
</p>
<input type="submit" value="Senden!"> <input type="reset" value="Zurücksetzen">
</form>
############
Quelltext kontakt_antwortmail.php
###########
<?
session_start();
include "global.inc.php";
include "tabelle.inc.php";
$mailtext = "
Anfrage von: $anrede $name \r\n E-Mail: $email \r\n Tel: $tel \r\n r\nText: $text ";
mail("xxx@xxx.xx", "Anfrage", $mailtext, "From: $email ");
?>
##########
Danke
gruß jo
echo $begrüßung;
include "global.inc.php";
include "tabelle.inc.php";
$mailtext = "
Anfrage von: $anrede $name \r\n E-Mail: $email \r\n Tel: $tel \r\n r\nText: $text ";
mail("xxx@xxx.xx", "Anfrage", $mailtext, "From: $email ");
Solange in den inkludierten Dateien keine Prüfung der Formulareingaben vorgenommen wird, liegt die Anfälligkeit in der unbehandelten Übernahme von $email in die From-Headerzeile. Prüfe, ob in $email Zeilenumbruchzeichen ("\r" oder "\n") enthalten sind und verweigere dann das Senden der Mail. Normale Benutzer können/werden in dein einzeiliges Eingabefeld keine Umbruchszeichen eingeben. Ein Spambot schert sich nicht um die Eingabefelder und gibt zusätzlich zur Email-Adresse getrennt mit Zeilenumbruch weitere Header-Zeilen mit, die du übernimmst und damit den Mailserver im Falle von Cc und Bcc veranlasst Kopien zu verschicken.
echo "$verabschiedung $name";
echo $begrüßung;
include "global.inc.php";
include "tabelle.inc.php";
$mailtext = "
Anfrage von: $anrede $name \r\n E-Mail: $email \r\n Tel: $tel \r\n r\nText: $text ";
mail("xxx@xxx.xx", "Anfrage", $mailtext, "From: $email ");Solange in den inkludierten Dateien keine Prüfung der Formulareingaben vorgenommen wird, liegt die Anfälligkeit in der unbehandelten Übernahme von $email in die From-Headerzeile. Prüfe, ob in $email Zeilenumbruchzeichen ("\r" oder "\n") enthalten sind und verweigere dann das Senden der Mail. Normale Benutzer können/werden in dein einzeiliges Eingabefeld keine Umbruchszeichen eingeben. Ein Spambot schert sich nicht um die Eingabefelder und gibt zusätzlich zur Email-Adresse getrennt mit Zeilenumbruch weitere Header-Zeilen mit, die du übernimmst und damit den Mailserver im Falle von Cc und Bcc veranlasst Kopien zu verschicken.
echo "$verabschiedung $name";
ok werde ich mal so machen
Danke für den tipp
gruss jo
echo $begrüßung;
include "global.inc.php";
include "tabelle.inc.php";
$mailtext = "
Anfrage von: $anrede $name \r\n E-Mail: $email \r\n Tel: $tel \r\n r\nText: $text ";
mail("xxx@xxx.xx", "Anfrage", $mailtext, "From: $email ");Solange in den inkludierten Dateien keine Prüfung der Formulareingaben vorgenommen wird, liegt die Anfälligkeit in der unbehandelten Übernahme von $email in die From-Headerzeile. Prüfe, ob in $email Zeilenumbruchzeichen ("\r" oder "\n") enthalten sind und verweigere dann das Senden der Mail. Normale Benutzer können/werden in dein einzeiliges Eingabefeld keine Umbruchszeichen eingeben. Ein Spambot schert sich nicht um die Eingabefelder und gibt zusätzlich zur Email-Adresse getrennt mit Zeilenumbruch weitere Header-Zeilen mit, die du übernimmst und damit den Mailserver im Falle von Cc und Bcc veranlasst Kopien zu verschicken.
echo "$verabschiedung $name";
Hallo,
denke mal das du es so gemeint hast?
$text = ereg_replace("(\r\n|\n|\r)","",$_REQUEST['text']);
gruß jo
Hallo Forum,
denke mal das du es so gemeint hast?
$text = ereg_replace("(\r\n|\n|\r)","",$_REQUEST['text']);
Nein, der Text darf ja Zeilenumbrüche enthalten, nur was in den Header kommt muss überprüft werden:
if (
strpos($_REQUEST['email'], "\n") !== false
or strpos($_REQUEST['email'], "\r") !== false
) {
die('Satz mit x: War wohl nix');
}
Gruß
Alexander Brock
Hallo Alexander.
denke mal das du es so gemeint hast?
$text = ereg_replace("(\r\n|\n|\r)","",$_REQUEST['text']);Nein, der Text darf ja Zeilenumbrüche enthalten, nur was in den Header kommt muss überprüft werden:
if (
strpos($_REQUEST['email'], "\n") !== false
or strpos($_REQUEST['email'], "\r") !== false
) {
die('Satz mit x: War wohl nix');
}
Obgleich sinnfrei stellen jeweils nur „\n“ oder „\r“ kein Problem dar. Lediglich die Kombination „\r\n“ ist ein Problem, da diese den jeweiligen Header in dem diese E-Mail-Adresse auftaucht terminieren würde. Dadurch könnte man dann weitere einfügen. (Natürlich gilt das ganze nur, wenn wir es nicht gerade mit einem fehlerhaften MTA zu tun haben.)
Einen schönen Freitag noch.
Gruß, Mathias
--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules
if (
strpos($_REQUEST['email'], "\n") !== false
or strpos($_REQUEST['email'], "\r") !== false
) {
die('Satz mit x: War wohl nix');
}
>
> Gruß
> Alexander Brock
Ok super alles klar es funkt
danke für die Hilfe
gruss jo