Приходят пустые POST данные
#1 Пользователь
Отправлено 30 ноября 2011 - 07:51
Все настроил, вроде все правильно. Раньше, на виртуальном хостинге все работало, а перешел на VPS, и не получается.
Аттестат продавца есть, но регистрации в Мегастоке нету, но была.
И что же делать, как исправить? Какие варианты можно попробовать?
#2 Знаток
Отправлено 30 ноября 2011 - 11:47
как проверяете наличие входящих данных?
ваше творчество или используете чье-то решение ?
WEBKIOSK.UA™
Пополнение Киевстар Пополнение Life:) Пополнение МТС Пополнение PeopleNet Пополнение Билайн Пополнение Интертелеком Пополнение Utel и др.
#3 Пользователь
Отправлено 30 ноября 2011 - 13:08
для примера вот так:дайте хоть кусок кода
как проверяете наличие входящих данных?
ваше творчество или используете чье-то решение ?
$mywmr = mysql_real_escape_string($_POST['LMI_PAYEE_PURSE']); mysql_query("INSERT INTO pays (mywmr) VALUES ('".$mywmr."')") or die('');просматриваю логи:
91.227.52.46 - - [30/Nov/2011:06:44:28 +0300] "POST /1234567890.php HTTP/1.0" 200 - "-" "Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)"
91.227.52.46 - - [30/Nov/2011:06:44:28 +0300] "POST /1234567890.php HTTP/1.0" 200 25 "-" "Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)"
логи ошибок:
[Wed Nov 30 06:44:28 2011] [error] [client 91.227.52.46] PHP Notice: Undefined index: LMI_PAYEE_PURSE in ...
PS: Хотя на Success URL данные методом POST приходят нормально...
#4 Пользователь
Отправлено 30 ноября 2011 - 15:15
хотя данные поступают, в логах ошибок пишется, что нет, поэтому и решил, что не поступают...получается - не на то грешил...ошибка в коде была
#5 Знаток
Отправлено 30 ноября 2011 - 16:35
В предварительном запросе данных нет - вот и ошибка. А Вы вообще о безопасности своих программ задумывались? Перед тем как обращаться к входным данным следует их проверять.логи ошибок:
[Wed Nov 30 06:44:28 2011] [error] [client 91.227.52.46] PHP Notice: Undefined index: LMI_PAYEE_PURSE in ...
Хорошо хоть про экранирование спецсимволов через mysql_real_escape_string не забыли$mywmr = mysql_real_escape_string($_POST['LMI_PAYEE_PURSE']); mysql_query("INSERT INTO pays (mywmr) VALUES ('".$mywmr."')") or die('');
#6 Пользователь
Отправлено 30 ноября 2011 - 18:30
Передавать параметры в предварительном запросе включено? Если нет то предварительный запрос идет только на "простукивание" без данных, в запросе после платежа данные будут.
В предварительном запросе данных нет - вот и ошибка. А Вы вообще о безопасности своих программ задумывались? Перед тем как обращаться к входным данным следует их проверять.логи ошибок:
[Wed Nov 30 06:44:28 2011] [error] [client 91.227.52.46] PHP Notice: Undefined index: LMI_PAYEE_PURSE in ...
Хорошо хоть про экранирование спецсимволов через mysql_real_escape_string не забыли$mywmr = mysql_real_escape_string($_POST['LMI_PAYEE_PURSE']); mysql_query("INSERT INTO pays (mywmr) VALUES ('".$mywmr."')") or die('');
во народ...я им про недоходящие данные, а они мне про безопасность
этот код - это всего лишь простенький пример, чтобы показать что и как, а на рабочем ресурсе я такой, естественно, не поставлю...проходит и проверка источника данных, и экранирование...даже контрольная подпись данных о платеже проверяется
PS: KazanDaemon, Вы еще забыли сказать, что mysql_real_escape_string не сработает, потомучто сначала нужно подключиться к базе данных...
#7 Знаток
Отправлено 30 ноября 2011 - 19:13
Еще раз повторю, всегда идет два запроса - до платежа предварительный и после платежа с информацией. Без включенной опции Передавать параметры в предварительном запросе в настройках кошелька в предварительном запросе данных не будет.во народ...я им про недоходящие данные, а они мне про безопасность
Ну тогда и следующая строчка не отработает, поэтому проблемы не будет. И зря смеетесь, смешного в этом ничего нет. Начните с внимательного изучения http://wiki.webmoney...chant_InterfacePS: KazanDaemon, Вы еще забыли сказать, что mysql_real_escape_string не сработает, потомучто сначала нужно подключиться к базе данных...