Anja
22.01.2005, 02:16
Bei Vodafone hat man durch die zusammenstellung von Handynummer@vodafone.de 10 mails am Tag freigestellt, da hab ich mir ma fix nen phpscript zusammengewurschtelt, nur leider läuft die ipsperre nicht so wie sie sollte, egal... viele kennen dieses script bereits von einer recht bekannten Seite ;)
wer das nun auch auf seine Seite stellen will, hab ich hier den code für euch:
Die Nachricht baut sich aus [Absender] und zusammen, der eigentliche [Inhalt] wird auf dem handy nicht angezeigt, dafür soll man wohl auf vodafone.de gehen, doch warum nicht einfach das ganze so aufbauen das im Betreff bereits die nachricht steht ;D ein Betreff hat auch unendliche zeichenzahl, somit kann man mit diesem system längere nachrichten schreiben als mit sms ;)
[b]Dateiname: index.php
<?php
// 24 Stunden
// á 60 Minuten
// á 60 Sekunden
$zeit = 00*00*00;
// Konstanten
define('SPAM_FILE', 'spam.txt');
define('SPAM_TIME', $zeit);
define('BADWORD_FILE', 'badword.txt');
if($_POST['submit'])
{
// Wenn eines der Felder leer ist, gebe Fehlermeldung aus
if(empty($_POST['betreff']) OR empty($_POST['absender']))
{
echo '<form method="POST" action="index.php">
<table width="200" heiht="100">
<tr>
<td colspan="2"><font face="verdana" size="1">Schicke eine SMS auf mein Handy:</td>
</tr>
<tr>
<td>
<font face="verdana" size="1">Name: <input type="text" name="absender" size="15">
</td>
<td>
<font face="verdana" size="1">Nachricht: <input type="text" name="betreff" size="40">
</td>
</tr>
</table>
<br>
<input type="submit" value="senden" name="submit">
</form>
Bitte f&uuml;lle alle Felder aus!';
}
else
{
// $stop initialisieren
// (FALSE = IP nicht vorhanden => Nachricht wird gesendet)
$stop[0] = FALSE; // Badwords
$stop[1] = FALSE; // Spamsperre
if(filesize(SPAM_FILE) > 0)
{
// Spamdatei einlesen
$spam = file(SPAM_FILE);
// Zeilen trennen
$line = explode("\r\n", $spam);
for($i=0; $i<count($line); $i++)
{
// Parts trennen
$item = explode(':', $line[$i]);
// Kontrolle ob sich die IP schon in der Datei befinden
if($item[0] = $_SERVER['REMOTE_ADDR'])
{
// Kontrolle ob die Zeit des Spammens schon vorbei sind
if($item[1] < (time()-SPAM_TIME))
{
// Nachricht wird nicht gesenden
// (TRUE = IP befindet sich in der Datei und die Zeit ist noch nicht um)
$stop[1] = TRUE;
}
else
{
// Zeile löschen
unset($line[$i]);
// Neue Variable initialsieren
$str = '';
for($c=0; $c<count($line); $c++)
{
// Zeilen in Variable schreiben
$str .= $line[$c]."\r\n";
}
// neuen Inhalt in Spam-Datei schreiben
$fo = fopen(SPAM_FILE, 'w+');
fwrite($fo, $str);
@fclose($fo);
}
}
}
}
if(filesize(BADWORD_FILE) > 0)
{
// Badword Datei in einen Array laden
$badword = file(BADWORD_FILE);
for($a=0; $a<count($badword); $a++)
{
// Kontrolle ob ein Badword in der Nachricht ist
if(substr_count($_POST['betreff'], ' '.$badword[$a].' ') > 0)
{
// Nachricht wird nicht gesenden
// (TRUE = IP befindet sich in der Datei und die Zeit ist noch nicht um)
$stop[0] = TRUE;
}
if($stop[0] == TRUE)
{
// Wenn ein Badword gefunden wurde wird die Suche abgebrochen
break 1;
}
}
}
// Kontrolle ob gesendet werden kann
if(($stop[1] == FALSE) AND ($stop[0] == FALSE))
{
// Kontrolle ob gesendet wird (wenn nichts schief geht wird gesendet)
if(@mail('Handynummer@vodafone.de', $_POST['betreff'], 'text', 'From: '.$_POST['absender']."@domain.de"))
{
echo 'SMS wurde erfolgreich versandt.';
}
else
{
echo 'SMS konnte aufgrund Fehler nicht verandt werden.';
}
}
else
{
if($stop[0] == TRUE)
{
echo 'Leider beinhaltet ihre Nachricht eins der eingetragenen Badwords. Bitte kontrollieren Sie ihre Nachricht.';
}
elseif($stop[1] == TRUE)
{
echo 'Leider hast du in den letzen 24 Stunden schon eine Nachricht geschrieben. Versuch es später nochmal.';
}
else
{
echo 'Es ist ein unbekannter Fehler aufgetreten. Die Nachricht konnte nicht gesendet werden.';
}
}
}
}
else
{
echo '<form method="POST" action="index.php">
<table width="200" heiht="100">
<tr>
<td colspan="2"><font face="verdana" size="1">Schicke eine SMS auf mein Handy:</td>
</tr>
<tr>
<td>
<font face="verdana" size="1">Name: <input type="text" name="absender" size="15">
</td>
<td>
<font face="verdana" size="1">Nachricht: <input type="text" name="betreff" size="40">
</td>
</tr>
</table>
<br>
<input type="submit" value="senden" name="submit">
</form>';
}
?>
zu ersetzen sind:
Handynummer@vodafone.de = eure handynummer + vertrag
domain.de = eure webspace url
wie die emails sich bei anderen verträgen zusammenbauen weiß ich noch nicht, vielleicht wird aber genau dieses rätzel hier im thread noch gelöst ;)
viel spaß mit diesem script
(eigentlich war meine idee ganz anders, es sollte nen bot geben der mir ne sms auf mein handy schickt wenn wo ne privatnachricht im internet auf mich wartet oder so, oda nachrichten allg. - wenn jemand sich mit bots auskennt bzgl. shell dann sollte er sich hier mal melden *g* )
wer das nun auch auf seine Seite stellen will, hab ich hier den code für euch:
Die Nachricht baut sich aus [Absender] und zusammen, der eigentliche [Inhalt] wird auf dem handy nicht angezeigt, dafür soll man wohl auf vodafone.de gehen, doch warum nicht einfach das ganze so aufbauen das im Betreff bereits die nachricht steht ;D ein Betreff hat auch unendliche zeichenzahl, somit kann man mit diesem system längere nachrichten schreiben als mit sms ;)
[b]Dateiname: index.php
<?php
// 24 Stunden
// á 60 Minuten
// á 60 Sekunden
$zeit = 00*00*00;
// Konstanten
define('SPAM_FILE', 'spam.txt');
define('SPAM_TIME', $zeit);
define('BADWORD_FILE', 'badword.txt');
if($_POST['submit'])
{
// Wenn eines der Felder leer ist, gebe Fehlermeldung aus
if(empty($_POST['betreff']) OR empty($_POST['absender']))
{
echo '<form method="POST" action="index.php">
<table width="200" heiht="100">
<tr>
<td colspan="2"><font face="verdana" size="1">Schicke eine SMS auf mein Handy:</td>
</tr>
<tr>
<td>
<font face="verdana" size="1">Name: <input type="text" name="absender" size="15">
</td>
<td>
<font face="verdana" size="1">Nachricht: <input type="text" name="betreff" size="40">
</td>
</tr>
</table>
<br>
<input type="submit" value="senden" name="submit">
</form>
Bitte f&uuml;lle alle Felder aus!';
}
else
{
// $stop initialisieren
// (FALSE = IP nicht vorhanden => Nachricht wird gesendet)
$stop[0] = FALSE; // Badwords
$stop[1] = FALSE; // Spamsperre
if(filesize(SPAM_FILE) > 0)
{
// Spamdatei einlesen
$spam = file(SPAM_FILE);
// Zeilen trennen
$line = explode("\r\n", $spam);
for($i=0; $i<count($line); $i++)
{
// Parts trennen
$item = explode(':', $line[$i]);
// Kontrolle ob sich die IP schon in der Datei befinden
if($item[0] = $_SERVER['REMOTE_ADDR'])
{
// Kontrolle ob die Zeit des Spammens schon vorbei sind
if($item[1] < (time()-SPAM_TIME))
{
// Nachricht wird nicht gesenden
// (TRUE = IP befindet sich in der Datei und die Zeit ist noch nicht um)
$stop[1] = TRUE;
}
else
{
// Zeile löschen
unset($line[$i]);
// Neue Variable initialsieren
$str = '';
for($c=0; $c<count($line); $c++)
{
// Zeilen in Variable schreiben
$str .= $line[$c]."\r\n";
}
// neuen Inhalt in Spam-Datei schreiben
$fo = fopen(SPAM_FILE, 'w+');
fwrite($fo, $str);
@fclose($fo);
}
}
}
}
if(filesize(BADWORD_FILE) > 0)
{
// Badword Datei in einen Array laden
$badword = file(BADWORD_FILE);
for($a=0; $a<count($badword); $a++)
{
// Kontrolle ob ein Badword in der Nachricht ist
if(substr_count($_POST['betreff'], ' '.$badword[$a].' ') > 0)
{
// Nachricht wird nicht gesenden
// (TRUE = IP befindet sich in der Datei und die Zeit ist noch nicht um)
$stop[0] = TRUE;
}
if($stop[0] == TRUE)
{
// Wenn ein Badword gefunden wurde wird die Suche abgebrochen
break 1;
}
}
}
// Kontrolle ob gesendet werden kann
if(($stop[1] == FALSE) AND ($stop[0] == FALSE))
{
// Kontrolle ob gesendet wird (wenn nichts schief geht wird gesendet)
if(@mail('Handynummer@vodafone.de', $_POST['betreff'], 'text', 'From: '.$_POST['absender']."@domain.de"))
{
echo 'SMS wurde erfolgreich versandt.';
}
else
{
echo 'SMS konnte aufgrund Fehler nicht verandt werden.';
}
}
else
{
if($stop[0] == TRUE)
{
echo 'Leider beinhaltet ihre Nachricht eins der eingetragenen Badwords. Bitte kontrollieren Sie ihre Nachricht.';
}
elseif($stop[1] == TRUE)
{
echo 'Leider hast du in den letzen 24 Stunden schon eine Nachricht geschrieben. Versuch es später nochmal.';
}
else
{
echo 'Es ist ein unbekannter Fehler aufgetreten. Die Nachricht konnte nicht gesendet werden.';
}
}
}
}
else
{
echo '<form method="POST" action="index.php">
<table width="200" heiht="100">
<tr>
<td colspan="2"><font face="verdana" size="1">Schicke eine SMS auf mein Handy:</td>
</tr>
<tr>
<td>
<font face="verdana" size="1">Name: <input type="text" name="absender" size="15">
</td>
<td>
<font face="verdana" size="1">Nachricht: <input type="text" name="betreff" size="40">
</td>
</tr>
</table>
<br>
<input type="submit" value="senden" name="submit">
</form>';
}
?>
zu ersetzen sind:
Handynummer@vodafone.de = eure handynummer + vertrag
domain.de = eure webspace url
wie die emails sich bei anderen verträgen zusammenbauen weiß ich noch nicht, vielleicht wird aber genau dieses rätzel hier im thread noch gelöst ;)
viel spaß mit diesem script
(eigentlich war meine idee ganz anders, es sollte nen bot geben der mir ne sms auf mein handy schickt wenn wo ne privatnachricht im internet auf mich wartet oder so, oda nachrichten allg. - wenn jemand sich mit bots auskennt bzgl. shell dann sollte er sich hier mal melden *g* )