LinuxForum.Fans
Тема

WebMoney и Linux

Автор: linux-guru 42 сообщений 14212 просмотров
#143078

Задумал написать опен-сурс аналог WebMoney Keeper Classic http://webmoney.ru для *НИКСОВ. XML-интерфейсы запросов к серверам WebMoney открытые, их можно найти здесь: http://www.webmoney.ru/rus/developers/interfaces/index.shtml. После реализации интерфейса X9 решил проверить, что мне ответит сервер.
Запрос:

text

<?xml version="1.0" encoding="windows-1251"?>
<w3s.request>
    <reqn>1300872303000</reqn>
    <wmid>264127507701_</wmid>
    <sign>06d13bf8f4615ba9bb2af6fd23a0f8b9ebc285fa5a1c887b7136015d92dd83c41ed06101a36d77819720e82e84381732ec66ef9e6f2a56927db679dec73eab480184</sign>
    <getpurses>
        <wmid>264127507701_</wmid>
    </getpurses>
</w3s.request>

(Не обращайте внимание на символ подчеркивания в конце номера wmid, без него текст на форуме выводится некорректно)
Ответ:

text

HTTP/1.1 200 OK
Date: Wed, 23 Mar 2011 09:24:59 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 143
Content-Type: text/xml; Charset=windows-1251
Expires: Wed, 23 Mar 2011 09:24:59 GMT
Set-Cookie: ASPSESSIONIDQSTQSQBS=KDLKNCGBKPFNOLICJGHMCLFJ; path=/
Cache-control: private

<?xml version="1.0"?><w3s.response><reqn>1300872303000</reqn> <retval>110</retval> <retdesc>Server Error step=13</retdesc> </w3s.response>

Здесь видно, что подпись сформирована правильно, но на сервере произошла какая-то ошибка. ТехПоддержка WebMoney сотрудничать со мной отказалась. После поиска в google наткнулся на статью Криса Касперского (http://it-geek.ru/265). В статье сказано, что Keeper Classic передает на сервер информацию об имеющемся оборудовании, сервер сравнивает эту информацию с той, которая была передана в предыдущем сеансе, и если она не совпадает, нужно заново аутентифицировать Keeper. На сайте webmoney об этом, естественно, ничего не написано. Возник вопрос: как мне передать информацию об оборудовании? Пользоваться Ida Pro я не умею, ассемблер не знаю. Просьба всем, кто знаком с "внутренностями" Keeper Classic выложить здесь имеющуюся информацию. Также буду благодарен за любую информацию о WebMoney для разработчиков.

#143173

эх... нечего мне сказать... мну опять забанят?

#143177

drBatty, smile

#143274

Как перенести тему в раздел Программирование?

#143378
linux-guru написал:
Как перенести тему в раздел Программирование?

написать лично модератору, а лучше - админу.

я уже решил эту задачу, подробнее поговорим в "программировании", ну или на этом форуме, в этой теме.

да, ассемблер тут не нужен.

#144287

Нет, не выйдет каменный цветок.
Суть проблемы вот в чем: для корректной обработки запросов к WM-интерфейсам как минимум надо связываться с Webmoney и просить разрешения работать данному конкретному WMID с данного конкретного IP-адреса. Так что Keeper Classic реализовать не выйдет. Есть еще вариант с кипером мини, но там свои заморочки.
Кроме того, если я правильно помню, Server Error step=13 - это косяк в подписи, хотя тут могу и ошибаться.

#144353
UncleRus написал:
Суть проблемы вот в чем: для корректной обработки запросов к WM-интерфейсам как минимум надо связываться с Webmoney и просить разрешения работать данному конкретному WMID с данного конкретного IP-адреса.

ну и что? curl это умеет.

#144908

А курл-то тут при чем?
Я говорю про то, что желающий использовать подобный самопальный клиент должен будет:
а) иметь статический белый IP-адрес;
б) связаться с техподдержкой ВебМани и подать заявление, что он желает использовать WM-интерфейсы для работы со своими кошельками.

И вот только после этого (и то не факт) WebMoney разрешит использовать интерфейсы для конкретного WMID с конкретного IP-адреса.

И кстати, именно эту проблему мы тут и наблюдаем:
Server error step=13 - признак ошибки на этапе проверки прав доступа к интерфейсам.
ошибка 110 (тег retval) - нет доступа к интерфейсу.

#145091
UncleRus написал:
а) иметь статический белый IP-адрес;

причём тут клиент?

UncleRus написал:
б) связаться с техподдержкой ВебМани и подать заявление, что он желает использовать WM-интерфейсы для работы со своими кошельками.

повторить? curl умеет отправлять на http-сервер информацию и методом POST и методом GET. И умеет получать ответ. Как браузер. Для сервера, curl не отличим от браузера. Потому вы можете сделать клиент, который для сервера будет браузером, который работает как mini.

UncleRus написал:
И вот только после этого (и то не факт) WebMoney разрешит использовать интерфейсы для конкретного WMID с конкретного IP-адреса.

ну посмотрите, как работает вендовый клиент, и заставьте curl отправлять тоже самое. Тогда никто не догадается, что у вас curl в линуксе, а не клиент в виндовс. Просто curl должен вести себя точно так-же.

Можете конечно написать свой curl, но зачем?

#145448

У WM Mini есть существенные ограничения по суммам, которыми можно рулить. Не более 5000р на кошелек. А у WM Keeper и WM Light нету такого. Поэтому конечно лучше было бы их клонировать. Очень жаль что администрация платежной системы не идет навстречу. Хотя возможно они просто имели глупость связать себя каким-нибудь договором с m$....

#145467
drBatty написал:
причём тут клиент?

Его разработка и подразумевается, нет?

drBatty написал:
Для сервера, curl не отличим от браузера. Потому вы можете сделать клиент, который для сервера будет браузером, который работает как mini.

А кто-то говорил про кастрированный миник? Разговор шел про классик.

drBatty написал:
Можете конечно написать свой curl, но зачем?

У вас какие-то сложные отношения с libcurl, что вы в него так вцепились-то?

#145678

Х9 - это для сайтов. И действительно - работа возможна только с одного, определенного ИП. Там-же написано, прямо на сайте:

Этот интерфейс доступен только зарегистрированным клиентам. Для регистрации перешлите по внутренней почте на WMID (Техническая поддержка) краткую информацию о проекте, URL сайта, IP-адрес с которого будут отсылаться запросы, цель и способ использования интерфейса.

Т.е. даже если и будет программа реализующая это - каждому кто ее установит придется проходить эту процедуру регистрации, и ему, кстати говоря, откажут.

#145703
UncleRus написал:
Его разработка и подразумевается, нет?

при чём тут "белый статический IP"?
и как это усложняет/упрощает разработку клиента?

UncleRus написал:
Не хамите, парниша.

вы поняли написанное мной? да/нет? почему тогда curl не подходит на роль клиента?

UncleRus написал:
А кто-то говорил про кастрированный миник? Разговор шел про классик.

почему curl не может работать как классик?

UncleRus написал:
У вас какие-то сложные отношения с libcurl, что вы в него так вцепились-то?

нет. просто я не понимаю, зачем нужно делать велосипед, если у нас уже есть мотоцикл? Очевидно, что-то в этом нашем мотоцикле-курле вам не нравится. Вопрос - что?

#145704
shumomer написал:
Т.е. даже если и будет программа реализующая это - каждому кто ее установит придется проходить эту процедуру регистрации, и ему, кстати говоря, откажут.

1)кто мешает зарегиться в венде?
2)откуда они узнают, что работает клон?

#145875

В данном случае регистрация - это не регистрация нового кошелька. Это зарегистрировать сайт и ИП для того что-бы хмл-интерфейсы (в т.ч. и Х9) разрешили с этого ИП. Думаю теперь вам уже понятен и ответ на второй вопрос - да по ИП и узнают. Точнее - даже не надо клона детектить - просто не будет работать, т.к. для данного ИП не разрешен доступ к хмл-интерфейсам (регистрация не пройдена).

#145907
shumomer написал:
В данном случае регистрация - это не регистрация нового кошелька. Это зарегистрировать сайт и ИП для того что-бы хмл-интерфейсы (в т.ч. и Х9) разрешили с этого ИП. Думаю теперь вам уже понятен и ответ на второй вопрос - да по ИП и узнают.

ещё раз помедленнее для идиотов: как можно отличить curl работающий с 11.22.33.44, от клиента-классик работающего с 11.22.33.44?

#145933

drBatty, перечитай слова топикастера и вникни в суть ;). Он те о Фоме, а ты ему о Ереме. Вот так вот получается oO .

#145944
linux-guru написал:
В статье сказано, что Keeper Classic передает на сервер информацию об имеющемся оборудовании, сервер сравнивает эту информацию с той, которая была передана в предыдущем сеансе, и если она не совпадает, нужно заново аутентифицировать Keeper. На сайте webmoney об этом, естественно, ничего не написано. Возник вопрос: как мне передать информацию об оборудовании?
elve написал:
перечитай слова топикастера и вникни в суть

ответ: воспользоваться каким-нить монитором в венде(NetMon?), посмотреть, что передаётся, и отправить это curl'ом.
всё.

#145945
drBatty написал:
ещё раз помедленнее для идиотов: как можно отличить curl работающий с 11.22.33.44, от клиента-классик работающего с 11.22.33.44?

Для идиотов говоришь? Ну тогда начнем с того, что официальный клиент работает НЕ через хмл-интерфейсы (даже то что идет хмл - не через эти). Продолжать?

ЗЫ В принципе прога эмулирующая оф.клиент - возможна (и можно для этого заюзать твой любимый курл). Но тогда обо всех открыто описанных интерфейсах надо забыть и заниматься реверс-инженерингом. А потом по какой-то ерунде отловят использование левого клиента и залочат кошелек. И кому это надо - так рисковать?

ЗЗЫ Зачем вообще это надо? Лайт прекрасно работает с любой платформы.

#145962
shumomer написал:
Для идиотов говоришь? Ну тогда начнем с того, что официальный клиент работает НЕ через хмл-интерфейсы (даже то что идет хмл - не через эти). Продолжать?

да.

shumomer написал:
ЗЫ В принципе прога эмулирующая оф.клиент - возможна (и можно для этого заюзать твой любимый курл). Но тогда обо всех открыто описанных интерфейсах надо забыть и заниматься реверс-инженерингом. А потом по какой-то ерунде отловят использование левого клиента и залочат кошелек. И кому это надо - так рисковать?

именно эта задача изложена в первом посте.

shumomer написал:
Зачем вообще это надо? Лайт прекрасно работает с любой платформы.

именно им я и пользуюсь.

Войдите или зарегистрируйтесь, чтобы ответить.