SMS-Script

markus228

New Member
Hallo!

Ich habe mir ein kleines SMS-Script geschrieben welches es dem User ermöglichen soll seinen "Kontostand" im Forum aufzubessern

Der User schickt eine SMS mit dem Inahlt GUTHABEN[USERID] an eine Nummer und mein Anbieter ruft dann das sms script auf (../sms.php?text=GUTHABEN16&OrigHandy=0049123456789)

Wenn ich das Script über den Browser aufrufe klappt es.
Wenn ich es aber über wget oder lynx ausführe wird es nicht ausgeführt.

Muss ich auf dem Server noch irgendwelche Berechtigungen für die Datei setzen oder braucht der Code noch irgendnen Zusatz.
PHP:
<?php


require ("global.php");

/*
SMS-SCRIPT
VERSION 0.9  02/2007
*/
//Daten einlesen...
        if ($_GET['text']) {

        $text = $_GET['text'];
        $nummer = $_GET['OrigHandy'];
//Daten einlesen ENDE

//Hacking-Versuche unterbinden
$text = htmlspecialchars($text);
$text = stripslashes($text);
$nummer = htmlspecialchars($nummer);
$nummer = stripslashes($nummer);
//----------------------------------

//Funktion aktivieren/deaktivieren
//$guthaben_sms_aktiv_sql = $db->query("SELECT sms_guthaben_aktiv FROM  bb".$n."_sms_config WHERE number = '1'");
//$guthaben_sms_aktiv_sql_lesen = mysql_fetch_array($guthaben_sms_aktiv_sql);
//$guthaben_sms_aktiv = $guthaben_sms_aktiv_sql_lesen["sms_guthaben_aktiv"];
//------------------------------------------------------------------------------------------------------------------

//Gateway um andere Texte auch mit einzubeziehen.
$guthaben = substr($text, 0, 8);
$uid = substr($text, 9, 19);

//------------------------

//Parameter um Guthaben aufzufllen :  GUTHABEN[userid]


if ($guthaben == 'GUTHABEN')
{
$uid = htmlspecialchars($uid);
$uid = stripslashes($uid);
//--
/*$betrag_dazu_sql = $db->query("SELECT guthaben_sms FROM  bb".$n."_sms_config WHERE number = '1'");
$betrag_dazu_sql_lesen = mysql_fetch_array($betrag_dazu_sql);
$betrag_dazu= $betrag_dazu_sql_lesen["guthaben_sms"];
*/
//--
$betrag_dazu = 100;
//Ausführung der Überweisung:
$lang->load('GUTHABEN');
$db->unbuffered_query("UPDATE bb".$n."_users SET guthaben = guthaben+$betrag_dazu WHERE userid = '". $uid ."'");
$db->query("INSERT INTO bb".$n."_kontoauszug VALUES ('NULL', '".$wbbuserdata[userid]."','".time()."','".$lang->get("LANG_GUTHABEN_SMS")." ". $nummer ."','".$betrag_dazu."','plus')");
}
else {
header("HTTP/1.1 404 Not Found");
die('
[...]

Ich hoffe ihr könnt mir helfen.
 
Wie genau lautet denn dein Aufruf in Lynx bzw. wget ?

Bzw:

ich tippe drauf das du folgenden Aufruf machst:

Code:
lynx http://URL/script.php?param1=bla&param2=blub

Was aber falsch ist, da die Parameter hinter dem ? abgeschnitten werden.

Folgenden Aufruf mußt du nutzen:

Code:
lynx 'http://URL/script.php?param1=bla&param2=blub'
 
Last edited by a moderator:
Das steht in der Accesslog:
Code:
Mit wget
xxx.xxx.xxx.xxx - - [08/Jul/2007:09:05:59 +0200] "GET /sms.php?text=GUTHABEN1 HTTP/1.0" 200 5 "-" "Wget/1.10.2"
[...]
Mit dem Browser
xxx.xxx.xxx.xxx - - [09/Jul/2007:12:57:49 +0200] "GET /sms.php?text=GUTHABEN1&OrigHandy=00496818317018 HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"

wget:
Code:
/usr/bin/wget -q -O /dev/null 'http://www.lg-community.eu/sms.php?text=GUTHABEN1'

Im error_log sind keine Einträge über diesen Aufruf.
 
Laß mal das "-q -O /dev/null" weg. Denn das Script liefert 5 Bytes zurück im Gegensatz zum anderen Aufruf.

huschi.
 
Das steht in der Accesslog:
Code:
Mit wget
xxx.xxx.xxx.xxx - - [08/Jul/2007:09:05:59 +0200] "GET /sms.php?text=GUTHABEN1 HTTP/1.0" 200 5 "-" "Wget/1.10.2"
[...]
Mit dem Browser
xxx.xxx.xxx.xxx - - [09/Jul/2007:12:57:49 +0200] "GET /sms.php?text=GUTHABEN1&OrigHandy=00496818317018 HTTP/1.1" 200 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4"
CyberLine hat die Antwort schon gepostet.
 
Wenn ich das ohne -q -O mache speichert er die Datei ab.
Code:
 wget 'http://www.lg-community.eu/sms.php?text=GUTHABEN1'
--17:31:48--  http://www.lg-community.eu/sms.php?text=GUTHABEN1
           => `sms.php?text=GUTHABEN1.5'
Resolving www.lg-community.eu... 80.86.91.181
Connecting to www.lg-community.eu|80.86.91.181|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 0 [text/html]

    [ <=>                                 ] 0             --.--K/s

17:31:48 (0.00 B/s) - `sms.php?text=GUTHABEN1.5' saved [0/0]

Wenn ich das mit -q -O und ' ' mache kommt keine Meldung zurück und es steht dann zwar in der access_log (siehe oben) das Zugegriffen wurde aber das Script wird nicht ausgeführt.

Danke nochmal das ihr mir helft :)
 
Back
Top