PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

30-05-2007, 11:20
|
StBaumann
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Beiträge: 43
|
|
SPAM-Mails
Hallo,
ich habe vor kurzem eine eigentlich ganz einfache Seite erstellt, auf der ein paar einfache Datenbankabfragen integriert wurden.
Also nur insert, delete und update.
Weiter wurde ein Kontakt-Formular erstellt, welches per Script an meine E-Mailadresse versendet wird.
Nun habe ich von meinem Provider eine Art Ermahnung bekommen,
es seien von meiner Seite aus SPAM-Mails versand wurden!!!
Wie geht so etwas???
Ich weiß nicht, ob es an meinen Scripten liegt, was ich mir eigentlich nicht vorstellen kann, da ich doch nur Daten abfrage und in der Datenbank werden auch keinerlei e-mail adressen gespeichert sondern einfach nur Datum und Text.
Kann mir jemand sagen, was ich dagegen tun kann??
Hier mal ein Script, mit welchem ich die Datenbank abfrage:
PHP-Code:
<?
include("php_functions.php");
include("connection.php");
connect();
$verbindung = mysql_connect($mysql_server, $mysql_benutzer, $mysql_kennwort);
mysql_select_db($db, $verbindung); // USE datenbank
$sql = "SELECT * FROM news ";
$inhalt = send_sql($db, $sql);
$gesamt = mysql_num_rows($inhalt);
if ($gesamt == 0)
{
echo "Keine Angebote vorhanden !";
}
else
{
while (@$row=mysql_fetch_array($inhalt,MYSQL_ASSOC))
{
?>
Gruß Steffen
__________________
Die 3 Todfeinde eines Programmiereres:
Sonne, frische Luft und das unerträgliche Geschrei der Vögel!!
|

30-05-2007, 11:28
|
Wyveres
Registrierter Benutzer
|
|
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
|
|
das hat mit deiner DB herzlich wenig zu tun.
Ddein Kontakt Formular sendet wahlos E-Mails raus.
Heist es wird als Spamschleuder verwendet. Stell mal den PHP code des Mail Formulares hier rein wirst dich Wundern was du für Antworten bekommst.
|

30-05-2007, 11:33
|
StBaumann
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Beiträge: 43
|
|
Hallo,
hier der Code zum versenden der Mails:
PHP-Code:
<?
$codecode=0;
if($vname=="")
{
echo("<b>Fehler:</b> Sie haben vergessen den Vorname anzugeben!<br>");
$codecode=1;
}
if($name=="")
{
echo("<b>Fehler:</b> Sie haben vergessen den Name anzugeben!<br>");
$codecode=1;
}
if($strasse=="")
{
echo("<b>Fehler:</b> Sie haben vergessen die Straße anzugeben!<br>");
$codecode=1;
}
if($plz=="")
{
echo("<b>Fehler:</b> Sie haben vergessen die PLZ anzugeben!<br>");
$codecode=1;
}
if($ort=="")
{
echo("<b>Fehler:</b> Sie haben vergessen den Ort anzugeben!<br>");
$codecode=1;
}
if(!eregi("^([_[:alnum:]-]+)(\.[_[:alnum:]-]+)*@([[:alnum:]])([[:alnum:]\.-]+)([[:alnum:]])\.([[:alpha:]]{2,3})$",$mail))
{
echo "<b>Fehler:</b> Die e-Mail Adresse die Sie angegeben haben ist nicht gültig!<br>";
$codecode=1;
}
if($text=="")
{
echo("<b>Fehler:</b> Sie haben vergessen Ihr Anliegen in das Textfeld einzugeben!<br>");
$codecode=1;
}
if($codecode=="0")
{
mail("xxx@yyy.de","Anfrage von der Webseite","
Vorname: $vname
Name: $name
Strasse: $strasse
PLZ - Ort: $plz - $ort
e-mail: $mail
Tel.: $tel - &tel2
Wünsche:
$text
");
echo("Vielen Dank...,<br><br>Wir setzen uns schnellstmöglich mit Ihnen in Verbindung.");
}
?>
Wenn hier etwas nicht richtig sein sollte dann sagt bitte was, Danke
Gruß Steffen
__________________
Die 3 Todfeinde eines Programmiereres:
Sonne, frische Luft und das unerträgliche Geschrei der Vögel!!
|

30-05-2007, 11:40
|
Wyveres
Registrierter Benutzer
|
|
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
|
|
Zitat:
Original geschrieben von StBaumann
Hallo,
hier der Code zum versenden der Mails:
PHP-Code:
if($codecode=="0")
{
mail("xxx@yyy.de","Anfrage von der Webseite","
Vorname: $vname
Name: $name
Strasse: $strasse
PLZ - Ort: $plz - $ort
e-mail: $mail
Tel.: $tel - &tel2
Wünsche:
$text
");
Wenn hier etwas nicht richtig sein sollte dann sagt bitte was, Danke
Gruß Steffen
|
Dein Problem ist die Mail Funktion!
1. Google Mail injektion!
2. es Gibt hier ein Wichtig: beitrag der informationen darüber enthält wie ein MAIL richtig aufgebaut werden Muss!
denn dein aufbau ist erlich! sowas von Knackbar und missbrauchbar das es ein Leichtes ist deine E-mail raus zu werfen und Die Empfängermails einzutragen.
sprich BCC: CC: usw. einfach Googlen. und Lesen. Dein Problem hatten schon x-tausende vor dir. sprich es gibt auch ebensoviele lösungen.
nochn kleiner TIP: MAIL HEADER /MAIL INJEKTION => FOREN SUCHE
PS: versuch erst dein problem Selber in den Griff zu bekommen bevor du uns hier um Code Anbettelst.
|

30-05-2007, 11:45
|
 |
Berni
  OWNER
|
|
Registriert seit: Jan 2001
Ort: Frankfurt / Egelsbach
Beiträge: 6.309
|
|
|

30-05-2007, 12:32
|
StBaumann
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Beiträge: 43
|
|
Hallo,
habe mal etwas versucht, möchte aber Eure Meinung dazu wissen,
ob es so funktionieren würde!!
PHP-Code:
<? $codecode=0;
if($vname=="")
{
echo("<b>Fehler:</b> Sie haben vergessen den Vorname anzugeben!<br>");
$codecode=1;
}
if($name=="")
{
echo("<b>Fehler:</b> Sie haben vergessen den Name anzugeben!<br>");
$codecode=1;
}
if($strasse=="")
{
echo("<b>Fehler:</b> Sie haben vergessen die Straße anzugeben!<br>");
$codecode=1;
}
if($plz=="")
{
echo("<b>Fehler:</b> Sie haben vergessen die PLZ anzugeben!<br>");
$codecode=1;
}
if($ort=="")
{
echo("<b>Fehler:</b> Sie haben vergessen den Ort anzugeben!<br>");
$codecode=1;
}
if(!eregi("^([_[:alnum:]-]+)(\.[_[:alnum:]-]+)*@([[:alnum:]])([[:alnum:]\.-]+)
([[:alnum:]])\.([[:alpha:]]{2,3})$",$mail))
{
echo "<b>Fehler:</b> Die e-Mail Adresse die Sie angegeben haben ist
nicht gültig!<br>";
$codecode=1;
}
if($text=="")
{
echo("<b>Fehler:</b> Sie haben vergessen Ihr Anliegen in das Textfeld
einzugeben!<br>");
$codecode=1;
}
if($codecode=="0")
{
//Wird vom Formular ausgefuellt
$email_to = "meine-adresse@[url]www.de[/url]";
//Absender-Email
$email_from_mail = "$mail";
//Absender-Name
$email_from_name = "$name";
//Betreff in der Mail
$email_betreff = "Anfrage von Webseite";
//CC
$header="From:$email_from_name<$email_from_mail>\n";
mail($email_to,$email_betreff,$text,$header);
echo("Vielen Dank...,<br><br>Wir setzen uns schnellstmöglich mit Ihnen in Verbindung.");
}
?>
Würde das Script sp funktionieren?
Wie bekomme ich dann noch die anderen Variablen in das Textfeld
der E-Mail, ich möchte alle Felder des Formulars als Text in der Mail
anzeigen lassen.
Gruß Steffen
__________________
Die 3 Todfeinde eines Programmiereres:
Sonne, frische Luft und das unerträgliche Geschrei der Vögel!!
|

30-05-2007, 12:53
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
Du musst alle Daten welche aus dem Formular kommen und die du in den Header Bereich der Email platzierst auf Zeilenumbrüche testen. Wenn solche vorhanden sind deutet das sehr stark auf den Versuch hin deine Emailfkt zum spamen zu missbrauchen.
Gruss
tobi
|

30-05-2007, 15:03
|
StBaumann
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Beiträge: 43
|
|
Hallo,
habe mein Versand für E-Mails umgebaut.
Würde mich freuen, wenn Ihr mich auf Fehler aufmerksam machen könntet.
Hier der Quellcode:
PHP-Code:
<?PHP
//Wird vom Formular ausgefuellt
$email_to = "info@wibb-design.de";
//Absender-Email
$email_from_mail = "$name_freund<$email_freund>";
//Absender-Name
$email_from_name = "$name_freund";
//Betreff in der Mail
$email_betreff = "Anfrage";
//CC
//$email_to_cc="Steffen Baumann<info@wibb-design.de>";
?>
<html>
<head> <title>Test</title>
</head>
<body>
<?php
if(!isset($email_freund))
{
?>
<form action="<? selfphp ?>" method="post">
<table width="58%" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="15%" valign="top">Name:</td>
<td width="85%"><input type="text" name="name_freund"></td>
</tr>
<tr>
<td width="15%" valign="top">Email:</td>
<td width="85%"><input type="text" name="email_freund"></td>
</tr>
<tr>
<td width="15%" valign="top">Tel:</td>
<td><input type="text" name="tel"></td>
</tr>
<tr>
<td width="15%" valign="top">Kommentar:</td>
<td width="85%"><textarea cols="30" rows="6" name="kommentar"></textarea></td>
</tr>
<tr>
<td width="15%" valign="top"> </td>
<td width="85%"><input type="submit" value="HTML-Mail senden" name="submit"></td>
</tr>
</table>
</form>
<?php
}
else
{
$kommentar= "Name: $name_freund\n
Tel.: $tel\n
Kommentar: $kommentar";
$header="From:$email_from_name<$email_from_mail>\n";
mail($email_to,$email_betreff,$kommentar,$header);
echo "Ihre Anfrage wurde erfolgreich versand!";
}
?>
Gruß Steffen
__________________
Die 3 Todfeinde eines Programmiereres:
Sonne, frische Luft und das unerträgliche Geschrei der Vögel!!
|

30-05-2007, 15:06
|
penizillin
PHP Guru
|
|
Registriert seit: Feb 2004
Beiträge: 10.166
|
|
fehler 1: register globals
fehler 2: der unbändige drang, irgendetwas von der usereingabe in die mail headers hineinzudrücken. den musst du überwinden.
|

30-05-2007, 15:13
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
|
|
Hast du es auch getestet ? Ich würde mich keinesfalls auf register_globals on verlassen, so wie du es zu machen scheinst. Ist der Wert von $email_to fix oder wird er je nach Usereingabe im Form gesetzt ? Wenn dynamisch dann: Was hindert mich daran als Empfänger folgendes anzugeben ?
Code:
info@meineDomain.de,spam@wholeWorld.com
Wenn du das ungeprüft an die Mail Fkt durchgibst
Zitat:
der unbändige drang, irgendetwas von der usereingabe in die mail headers hineinzudrücken. den musst du überwinden.
|
100% agree und sonst die Werte prüfen, prüfen und nochmals prüfen
Gruss
tobi
|

30-05-2007, 18:40
|
StBaumann
Registrierter Benutzer
|
|
Registriert seit: Jan 2004
Beiträge: 43
|
|
Hallo,
ich habe es auf meinem Server, wo meine Webseiten laufen geprüft, es funktioniert!!
aber wie prüfe ich die Mails??
Ich habe nur ein Script, wo ich prüfen kann, ob es wirklich eine Mail Adresse ist (spam@wholeWorld.com)??
Gruß Steffen
__________________
Die 3 Todfeinde eines Programmiereres:
Sonne, frische Luft und das unerträgliche Geschrei der Vögel!!
|

30-05-2007, 19:07
|
Wyveres
Registrierter Benutzer
|
|
Registriert seit: Dec 2006
Ort: Rügen
Beiträge: 763
|
|
Zitat:
Original geschrieben von StBaumann
Hallo,
ich habe es auf meinem Server, wo meine Webseiten laufen geprüft, es funktioniert!!
aber wie prüfe ich die Mails??
Ich habe nur ein Script, wo ich prüfen kann, ob es wirklich eine Mail Adresse ist (spam@wholeWorld.com)??
Gruß Steffen
|
Schick dir selber die Mails. versuch an das Formular weiter E-Mail adressen einzutragen.
sprich mach genau das was eine Bösswillige Person machen würde um dein Formular zur spam-schleuder zu machen.
wenn das fehlschlägt. haste schonmal ein schritt geschafft.
kleiner tip: Speichere die Eingaben mal noch zusätzlich in eine TXT datei und analysiere die von zeit zu zeit. so siehst du auf garantie wann wer versucht über dein Formular Spam zu versenden. und vorallem wie er es versucht.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|