где найти рабочий пример работы с WMSigner? https://forum.web.money/index.php?/topic/42252-

где найти рабочий пример работы с WMSigner? https://forum.web.money/index.php?/topic/42252-

$descriptorspec = array( 0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe", "r") ); $process = proc_open($Path_Signer, $descriptorspec, $pipes); fwrite($pipes[0], "$inStr\004\r\n"); fclose($pipes[0]); $s = fgets($pipes[1], 133); fclose($pipes[1]); $return_value = proc_close($process); return $s; >

echo _GetSign("TestString123");

и получаю НИЧЕГО. При чем если просто вывести какую то строку то она выводиться, т.е. ошибки в функции нету, она не

Может кто-то работал с таким, может подсказать?

Сообщение отредактировал 440361362557: 24 июня 2016 - 18:24

#3 Знаток ^-^ (WMID 273407224562 )
  • Группа: Пользователи
  • сообщений 6 059
  • Регистрация: 10-сентября 13
  • Webmoney BL

У Никиты очень хорошие, разжовывающие и толковые примеры, но формирование подписи Sign я рекомендую взять тут github.com/baibaratsky/php-wmsigner - становится всё намного проще) Там же можете и интерфейсы взять. Но это на Ваше усмотрение. Так же может пригодиться и сама библиотека с OWebMoney.

#4 Продвинутый пользователь 440361362557 (WMID 440361362557 )
  • Группа: Пользователи
  • сообщений 80
  • Регистрация: 04-марта 16
  • Webmoney BL

У Никиты очень хорошие, разжовывающие и толковые примеры

Кто это и как на него выйти?

Библиотеку нет смысла использовать - выдается сообщение

Результат (0 - успешно) - 1000 Расшифровка - Не получен XML-ответ Дата и время -

Но это предсказуемо, так как не выполняется даже подпись. Я не могу понять в чем причина, уже голова кругом идет. сигнер скомпилирован, работает отлично, а php код ен хочет работать. Хотел использовать именно код из статьи, мне нравится такая реализация, но почему не работает - загадка. Может знает как выйти на автора?

Сообщение отредактировал 440361362557: 24 июня 2016 - 23:23

#5 Знаток ^-^ (WMID 273407224562 )
  • Группа: Пользователи
  • сообщений 6 059
  • Регистрация: 10-сентября 13
  • Webmoney BL

Вот Никита, а OWebMoney - это его сайт

И никого искать не нужно) Если у Вас есть вопросы - спрашивайте

#6 Продвинутый пользователь 440361362557 (WMID 440361362557 )
  • Группа: Пользователи
  • сообщений 80
  • Регистрация: 04-марта 16
  • Webmoney BL

Спасибо. Я хотел бы проконсультироваться по вот этому куску кода

// БЛОК КОНСТАНТ $Path_Folder = "/home/*****/data/signer/kwm/"; // Путь к директории, в которой лежит .kwm $Path_Signer = "/home/*****/data/signer/"; // Путь к WMSigner

// ФУНКЦИЯ ФОРМИРОВАНИЯ ПОДПИСИ // На входе: строка для подписи. На выходе: строка с результатом подписывания function _GetSign($inStr)

echo _GetSign("TestString123");

Как отследить проблемное место. Он сюда заглядывает?

#7 Продвинутый пользователь 440361362557 (WMID 440361362557 )
  • Группа: Пользователи
  • сообщений 80
  • Регистрация: 04-марта 16
  • Webmoney BL

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

#8 Знаток ^-^ (WMID 273407224562 )
  • Группа: Пользователи
  • сообщений 6 059
  • Регистрация: 10-сентября 13
  • Webmoney BL

Вот и будете знать, заходит или нет.

#9 Знаток ^-^ (WMID 273407224562 )
  • Группа: Пользователи
  • сообщений 6 059
  • Регистрация: 10-сентября 13
  • Webmoney BL

Тогда в кипер пишите)

#10 Продвинутый пользователь 440361362557 (WMID 440361362557 )
  • Группа: Пользователи
  • сообщений 80
  • Регистрация: 04-марта 16
  • Webmoney BL

В кипер писал - он закрыл общение для не авторизированных.

По поводу вставки - функция работает, потому что когда меняю

Т.е проблема где-то иначе.

#11 Знаток ^-^ (WMID 273407224562 )
  • Группа: Пользователи
  • сообщений 6 059
  • Регистрация: 10-сентября 13
  • Webmoney BL

В кипер писал - он закрыл общение для не авторизированных.

Кому Вы писали? WMID?

По поводу вставки - функция работает, потому что когда меняю

return $s;

Вы пробовали через тот файлик Signer.php получать подпись?

Или Вы хотите формировать подпись методом, который описан на сайте OWebMoney?

Да, проблема в чём-то другом. И ошибки php выводятся на экран?

Сообщение отредактировал ^-^: 25 июня 2016 - 00:07

#12 Продвинутый пользователь 440361362557 (WMID 440361362557 )
  • Группа: Пользователи
  • сообщений 80
  • Регистрация: 04-марта 16
  • Webmoney BL

Вы пробовали через тот файлик Signer.php получать подпись?

нет, я не понял как его установить.

Хочу методом, который описан на сайте OWebMoney,

Ошибок нет ни в логах ни на странице, нигде. В том то и заключается вся мистика. Пробовал папку с wmsigner Переносить в htdocs, менять права на файлы, перечитал все что можно о функции proc_open. все как положено, все должно работать, а оно молчит

Писал на вмид 561678610962

Сообщение отредактировал 440361362557: 25 июня 2016 - 00:19

#13 Знаток ^-^ (WMID 273407224562 )
  • Группа: Пользователи
  • сообщений 6 059
  • Регистрация: 10-сентября 13
  • Webmoney BL

Писать нужно на мой WMID. Но это

Если консультация платная, то готов оплатить его время

бесплатно. Поэтому нет и смысла писать в кипер.

В какой кодировке файл wmsigner.ini?

Все действия выполняете уже на хостинге - верно?

Сообщение отредактировал ^-^: 25 июня 2016 - 07:22

#14 Продвинутый пользователь 440361362557 (WMID 440361362557 )
  • Группа: Пользователи
  • сообщений 80
  • Регистрация: 04-марта 16
  • Webmoney BL

Файл в кодировке UTF без BOM. Все файлы в UTF кодировке.

Да, все выполняю на хостинге. Если бы была неверная кодировка wmsign.ini, то тогда и через командную строку не выполнялось бы шифрование. А так - если из шелла запускаю команду

то все отлично работает

wmsigner скомпилирован правильно. Папка с файлами лежит выше уровня htdocs. Пробовал переносить ее в htdocs - не работает тоже.

Извините, не совсем понял что писать вам в кипер?

Вот пример запуска из putty

Сервер работает на FreeBSD

Единственное что я сделал не так как в статье - взял версию wmsigner 2.0.3 а не 2.0, как Никита

Пробую посмотреть что в переменных $pipes[0] и $pipes[1]

Хотя там должны ведь быть строчные данные?

array(3)

Выходит проблема где-то тут

$process = proc_open($Path_Signer, $descriptorspec, $pipes);

но где? Тут всего 5 строки ошибится невозможно. такое чувство что код вообще не обращается к wmsign, так как при изменении путей ничего не происходит

Сообщение отредактировал 440361362557: 25 июня 2016 - 11:31

#15 Знаток ^-^ (WMID 273407224562 )
  • Группа: Пользователи
  • сообщений 6 059
  • Регистрация: 10-сентября 13
  • Webmoney BL

Почему я спросил за кодировку. У меня была подобная проблема. Писал всем. И саппорту и на форуме Никиты (owebmoney.ru). Но мне удалось решить проблему ни то изменением кодировки, ни то полным удалением файла, созданием нового в кодировке UTF-8 и только тогда всё заработало. Я сам не понял в чём беда была, но всё же.

Именно по этой причине (много гемороя) я и рекомендую переходить на более свежие скрипты WMSing.

Какие проблемы с установкой приведеного мною на github?

Почему именно этот скрипт? Может в будущем будете подключать другой сайт и так будет на порядок проще. Никаких shell, никаких тестирований, просто копируете и всё работает. Там главное чтоб пути были указаны верно, ну, к файлу ключей и что там ещё. Остальное вообще всё делает очень просто. Ctrl + C и Ctrl + V. Всё)

#16 Знаток ^-^ (WMID 273407224562 )
  • Группа: Пользователи
  • сообщений 6 059
  • Регистрация: 10-сентября 13
  • Webmoney BL

Сделал Вам пример формирования подписи, но не могу передать файл. Написано, что стоит запрет на приём файлов. Запрос на авторизацию передал.

Так же взят файл ключей из примера.

Думаю Вы изучили статью и понимаете, что все файлы kwm и т.п. нужно скрывать от внешнего мира. Позаботьтесь о безопасности максимально, чтоб потом не "сесть в лужу".

Если по какой-то причине у вас нет возможности создавать каталоги выше директории web-документов, то вы можете создать подкаталог /home/site.ru/data/htdocs/что-то/, где вместо "что-то" - директория с очень сложным именем, чтобы его было тяжело определить методом подбора. Кроме того, обязательно поместите в эту директорию файл .htaccess, запрещающий web-доступ к содержимому директории. В противном случае, ваши секретные файлы, которые будут находиться в этом каталоге, могут быть скачаны злоумышленником прямо с вашего сайта. Приводим текст файла .htaccess для такого случая. Он состоит всего из 2-х строк:

Order Allow,Deny Deny from All

И вопрос по файлу ключей. Вижу, что у Вас только один WMID. Ну и собственно вопрос. Вы понимаете, что если откроете доступ к интерфейсу X2, то фактически ПОЛНОСТЬЮ разрешите передачу средств от Вашего WMID на кошельки других пользователей системы со ВСЕХ Ваших кошельков. Но если кто-то взломает Ваш хостинг или Ваш сайт, то Вы можете потерять всё, что есть на кошельках.

Что нужно сделать? Вам нужно зарегистрировать дополнительный WMID и загрузить его kwm файл на сервер. А для определённых Вами кошельков установить доверие. Например, у Вас есть кошелёк Z111222333444 из которого Вы хотите переводить средство своим сотрудникам. Ваши действия:

1) Вы устанавливаете доверие для определённого кошелька на дополнительный Ваш WMID;

2) указываете лимиты, например, 100 WMZ в день, 500 - в неделю, 2000 - в месяц;

3) загружаете файл kwm от дополнительного WMID и подписываете ключом дополнительного WMID все запросы.

Вот в принципи и всё. Так Вы не подвергаете остальные кошельки риску + можете в лимитированном режиме передавать средства.

📎📎📎📎📎📎📎📎📎📎