Страница 4 из 6 ПерваяПервая ... 23456 ПоследняяПоследняя
Показано с 31 по 40 из 56

Тема: Отчеты об ошибках

  1. #31
    Я ж без наездов пишу вроде... ;-) Или у Вас другое мнение на мою манеру разговора? Ладно, не суть.

    Я пишу сюда потому как Вы (ну или "вы" - если Вы там не один) занимаетесь этой темой.
    Но если замечания не нравятся, можем разойтись... Никто ж никому ничо не должен, как Вы правильно заметили.
    Вы только скажите, я могу и не писать. :-)
    Можете исправлять, можете не исправлять. Вы - автор, Вам виднее. Я лишь высказываю мнение пользователя (одного из).
    Но вернемся...

    То, что я первый и единственный - ну что ж... "Такова селява", как говорится. :-) Кто-то должен быть первым.
    У меня тоже все работало до перехода на указанную "сборку".
    Ранее я пользовался какой-то совсем древней сборкой и тоже все работало.
    Так случилось, я не виноват. Но откатываться не хочется, раз уж влез. Тем более, что в старой сборке интерфейса X17 ващще нет, собсно из-за чего и поставил новую. :-)

    Польза X7?
    Пожалуй это единственный интерфейс, на основании которого можно сделать вывод о корректности переданных сумм от конкретного адресата. Ибо ПОДПИСЬ проверяется тем, кто не заинтересован в подлоге, т.е. самим WebMoney.
    Отключен он или нет?... Лично мне он подключен (по запросу).
    Пока приходится обходиться другими способами контроля прихода денег, но...
    Если сам интерфейс системой WM поддерживается и раз уж Вы объявили, что он у вас включен в поставку, то...

    XML-запросы я контролирую конечно же, и они корректны.
    Единственное, что я не могу проверить "на глаз" в запросе, это именно подпись.
    И не могу проверить "потом", потому как она меняется.
    Т.е. подпись, наложенная на одни и те же данные сейчас отличается от подписи через минуту и через три минуты.
    Я не знаю механизма и потому не могу судить, это правильное поведение системы или нет.
    Если она и должна меняться, то поведение системы "на глаз" правильное.
    Если не должна, то это явный глюк.
    Поскольку Вы сталкивались с данным вопросом больше моего (ибо я лишь пользователь), то Вам проще разобраться с этим. Согласны? :-)

    "2. Библиотека хеширования не должна влиять на длину подписи."
    - Опять же... Простите, я не эксперт, я лишь констатировал факт, что проблема сильно уменьшилась именно после установки данной конкретной Mhash.
    Если оно никак не связано, значит это простое совпадение.
    Но если что-то из Mhash используется для построения подписи, то ... А мне кажется, что используется, иначе бы зачем она Вами вообще упоминалась бы в проекте. ;-)
    Опять же, могу ошибаться, я не эксперт.

    "1. Ну я конечно же могу код обвешать кучей ненужного кода"
    - Вы - Автор, Вам и решать. :-) Если Вы считаете, что код ненужный, значит так тому и быть.

    "Я вас наверное очень удивлю, но"
    - нет, не удивите. :-) Я ни на чем не настаиваю, и ничего не требую. Я все понимаю.
    Вы - Автор, Ваше слово всегда будет последним.

    "Неуказание параметров можно трактовать по-разному, и это не обязательно отсутствие ХМЛ-ноды. Вдумайтесь."
    - Согласен. Я то и хотел сказать, что я не уверен "как правильно делать".
    Возможно правилен Ваш вариант, возможно мой. Оба работают - верно. Но какой вариант "истинно верный" - Х.З. :-)
    Но если название ноды я передаю, то сервер вправе считать, что я передал ему ноду с пустым значением внутри.
    Тут не совсем понятно на самом деле.
    Хотя... Пожалуй соглашусь с Вами и вот на каком основании: Формат запроса не меняется. Т.е. пустые или нет, но сами ноды передаваться должны.

    Не слишком ли я пространен? ;-)
    И еще раз прошу прощения, если чо не так...

  2. #32
    Нет, почему же, пишите
    Все конструктивные замечания я записываю в ТУДУ.
    Все неконструктивные пропускаю, так как слишком много косметики будет и каждый потом захочет свои права диктовать.
    Можете убедиться, почитав историю изменений последней версии.

  3. #33
    Польза X7?
    Пожалуй это единственный интерфейс, на основании которого можно сделать вывод о корректности переданных сумм от конкретного адресата. Ибо ПОДПИСЬ проверяется тем, кто не заинтересован в подлоге, т.е. самим WebMoney.
    Отключен он или нет?... Лично мне он подключен (по запросу).
    Пока приходится обходиться другими способами контроля прихода денег, но...
    Если сам интерфейс системой WM поддерживается и раз уж Вы объявили, что он у вас включен в поставку, то...
    Объясняю по Х7:
    Он использовался для проверки авторизации пользователя на сайте старым способом, ещё через АктивХ. Так как эта технология несколько лет как не используется Вебманями - интерфейс использовать не за чем.
    Собственно и его отключенность - это перманентное возвращение "no", а не активация у техподдержки.
    Про суммы - не понял. Давайте реальный пример

  4. #34
    XML-запросы я контролирую конечно же, и они корректны.
    Единственное, что я не могу проверить "на глаз" в запросе, это именно подпись.
    И не могу проверить "потом", потому как она меняется.
    Т.е. подпись, наложенная на одни и те же данные сейчас отличается от подписи через минуту и через три минуты.
    Я не знаю механизма и потому не могу судить, это правильное поведение системы или нет.
    Если она и должна меняться, то поведение системы "на глаз" правильное.
    Если не должна, то это явный глюк.
    Поскольку Вы сталкивались с данным вопросом больше моего (ибо я лишь пользователь), то Вам проще разобраться с этим. Согласны? :-)
    В Сигнере можно переключить ключ $debug, чтобы под подпись не вносилась случайная составляющая.
    Так же номер запроса должен быть одним и тем же.

    Давайте корректность проверим так:
    Вы передадите на сервер два запроса - один сформируете из чисел в кавычках (строк), второй из обычных чисел.
    И выложите здесь оба запроса и ответа. По вашим словам у вас пройдет только первый. Значит необходимо найти разницу.

  5. #35
    Но если что-то из Mhash используется для построения подписи, то ... А мне кажется, что используется, иначе бы зачем она Вами вообще упоминалась бы в проекте. ;-)
    Опять же, могу ошибаться, я не эксперт.
    эта библиотека используется для вычисления хеша md4
    кроме неё могут использоваться hash или класс.
    то есть как миниум две альтернативы есть.

  6. #36
    Сегодня совсем жопа наступила.
    Скрипт вот такой:
    $res = $wmxi->X11('192300202649',0,1,1);
    echo $res->getRequest();
    echo '<br>';
    echo $res->toString();

    Лежит вот тут: http://wm-box.ru/test.php

    Функцию getRequest() я сам дописал, чтоб XML-запрос видеть.
    Взгляните, там подпись меняется.
    Она должна меняться?
    Как вручную проверить саму подпись, что она вычислена правильно?

    Upd1:
    Кстати, я только сейчас обратил внимание.
    Последние несколько символов в подписи всегда нули, и не меняются.
    А когда я запускаю юниксовый скрипт сигнера, меняется вся подпись.

    Upd2:
    Есть подозрение на отработку инклюдов.
    Ибо:
    - запускаю файл примера X11 из папки examples - стабильно работает.
    - запускаю свой файл (который по сути копия примера, но лежит не там где "пример") - стабильно не работает.

    Upd3:
    Дошел вот до чего:
    $res = $wmxi->X11('192300202649',0,0,0);
    - работает.
    $res = $wmxi->X11('192300202649',0,1,1);
    - не работает.
    Не работает - с последней единичкой в запросе.

    Upd4:
    Реанимировал старый пакет интерфейсов.
    Версию посмотреть не знаю как, но написано в нем вот что:
    ################################################## ##############################
    # #
    # Webmoney XML Interfaces by DKameleon (http://dkameleon.com) #
    # #
    # Updates and new versions: http://my-tools.net/wmxi/ #
    # #
    # Server requirements: #
    # - CURL #
    # - MBString #
    # #
    # History of changes: #
    # 2007.02.14 #
    # - initial release of X1 - X11 interfaces #
    # 2007.03.02 #
    # - some technical fixes of X7 interface #
    # 2007.04.19 #
    # - enchanced special chars correction #
    # 2007.08.26 #
    # - added certificate existance check #
    # 2007.12.05 #
    # - added X13 - X16 interfaces #
    # #
    ################################################## ##############################

    В нем используется внешний Сигнер.
    Этот пакет с интерфейсом X11 стабильно работает и с последней единичкой тоже.
    Раз 20 передергивал, стабильно отрабатывает без ругани на подпись.

    Upd5:
    Взял функцию сигнера из старого пакета и заменил ею функцию Sign($data) в файле WMSigner.php
    Все работает на ура! И с единичкой и с нулем.
    Раз 20 передергивал для чистоты эксперимента. Ни одного сбоя.
    Последний раз редактировалось gnitvik; 31.08.2010 в 18:26.

  7. #37
    Попробуйте в последней версии попереключать
    PHP код:
        # Форсирование использования библиотек
        # define('WMXI_MATH', 'bcmath4'); # Варианты: gmp, bcmath4, bcmath5
        # define('WMXI_MD4', 'hash'); # Варианты: mhash, hash, class 

  8. #38

    WMXI_MD4

    После включения режима
    PHP код:
    define('WMXI_MD4''class'); # Варианты: mhash, hash, class 
    MD4.php 173 строка (лишний доллар $$x)
    PHP код:
    return $raw ? $$x bin2hex($x); 
    WMSigner

    в методе InitMD4 в case 'class': перед return WMXI_MD4; не хватает $this->md4 = new MD4(true);

    PHP код:
    # MD4 init
        
    private function InitMD4() {
            if (
    defined('WMXI_MD4')) {
                switch (
    WMXI_MD4) {
                    case 
    'mhash': if (function_exists('mhash')) { return WMXI_MD4; } break;
                    case 
    'hash':  if (function_exists('hash')) { return WMXI_MD4; } break;
                    case 
    'class': if (class_exists('MD4')) { $this->md4 = new MD4(true); return WMXI_MD4; } break;
                }
                die(
    'Can not use WMXI_MD4 = 'WMXI_MD4);
            } else {
                if (
    function_exists('mhash')) { return 'mhash'; }
                if (
    function_exists('hash')) { return 'hash'; }
                if (
    class_exists('MD4')) {
                    
    $this->md4 = new MD4(true);
                    return 
    'class';
                }
                die(
    'Supported MD4 implementations not found.');
            }
        } 

  9. #39
    Цитата Сообщение от rkzn Посмотреть сообщение
    После включения режима
    PHP код:
    define('WMXI_MD4''class'); # Варианты: mhash, hash, class 
    MD4.php 173 строка (лишний доллар $$x)

    WMSigner

    в методе InitMD4 в case 'class': перед return WMXI_MD4; не хватает $this->md4 = new MD4(true);
    Вот спасибо, так спасибо! Через несколько минут залью обновление

  10. #40
    Что-то перестал работать WMXI возвращает следующую ошибку при выполнении X2 ($res->toString())

    <curl>
    <errno>35</errno>
    <error>Unknown SSL protocol error in connection to w3s.webmoney.ru:443 </error>
    </curl>

    Что это может быть?

    Нашел того, кто столкнулся с подобной проблемой: http://forum.webmoney.ru/default.aspx?g=posts&t=22771 там тоже нет никаких решений.

    UPD:
    Ошибка появляется как-то странно: 4 раза может выскочить ошибка, потом все ок к примеру. Вот лог работы CURL в момент ошибки
    * About to connect() to w3s.webmoney.ru port 443 (#0)
    * Trying 212.158.173.158... * connected
    * Connected to w3s.webmoney.ru (212.158.173.158) port 443 (#0)
    * successfully set certificate verify locations:
    * CAfile: ***/wm/WMXI.crt
    CApath: /etc/ssl/certs
    * Unknown SSL protocol error in connection to w3s.webmoney.ru:443
    * Closing connection #0

    UPD2:
    Принудительно выставлял параметры
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    От этого ничего не изменилось.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •