Xwab
Форумыnavigate_nextПрограммирование на PHP

Проблема с смс обработчиком
Сообщения
haos

Ответ обработчика нормальный,но не определяет на какой ид зачислять ,только если подставить нужный ид на примере щас ид 2,так зачисляет:
$msg = trim(substr(trim($_GET['msg']),strlen(''."$prefix".'')));
$id = intval($msg);
$cost_rur = $_GET['cost_rur'];
if(mysql_query("UPDATE `user` SET `money` = `money`+'$cost_rur' WHERE `id_user` = '2' ;")) {
А вот так нет
$msg = trim(substr(trim($_GET['msg']),strlen(''."$prefix".'')));
$id = intval($msg);
$cost_rur = $_GET['cost_rur'];
if(mysql_query("UPDATE `user` SET `money` = `money`+'$cost_rur' WHERE `id_user` = '$id' ;")) {

Что не так?(

29 Апр 2011, 11:27
mazaHELL

$id = intval($msg); возможно возвращает 0 (ноль)

29 Апр 2011, 11:29
ofroke

боже мой
$msg = trim(substr(trim($_GET['msg']),strlen(''."$prefix".'')));

29 Апр 2011, 12:21
haos

ofroke, посмеялся ,теперь напиши своя версию .

29 Апр 2011, 14:17
Istsam

$msg = trim(substr(trim($_GET['msg']),strlen(''."$prefix".'')));
о да, говнокод.
$msg = mysql_real-escape_string(trim($_GET['msg']));
^^ для текста
--------------------------
$msg = abs(intval($_GET['msg']));

^^для цифр
добавлено спустя 1 минуту:
фильтруй
$cost_rur = $_GET['cost_rur'];

можно занести вредную информацию

29 Апр 2011, 15:28
Default_mo

спорим нельзя?
добавлено спустя 55 секунд:
во первых - если имя обработчика неизвестно злоумышленнику, то как он занесет "вредную информацию" ? а если известно, то зачем заносить, если можно воспользоваться багом?

во-вторых, читайте что в п.1.
добавлено спустя 1 минуту:
ну а вообще можно фильтровать.

29 Апр 2011, 15:34
JESOD

Default_mo, на "эх прокатит" надеется не надо. Если по мелочам так закрывать глаза и не делать как надо, то в конец придешь к тому, что г-кодишь....

29 Апр 2011, 15:57
haos

Так ,а как там ид определить?
Юзер отсылает смс blabla 2,и над что цифра ток передавалась в обработчик и эта цифра ид на который над зачислять.
добавлено спустя 21 минуту:
Default_mo, о каком баге идет речь?

29 Апр 2011, 18:07
[ALTER]

$sms = htmlspecialchars($_GET['msg']);
$id = explode(" ", $sms);
$id[1] = abs(intval($id[1]));
$cost_rur = abs(intval($_GET['cost_rur']));

if(mysql_query("UPDATE `user` SET `money` = `money`+'$cost_rur' WHERE `id_user` = '$id[1]' ;")) {

30 Апр 2011, 11:32
haos

[ALTER], спасибо,так все норм работает.
Про баг если не тяжело в приват...

30 Апр 2011, 12:16
Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.