Перейти к содержимому


Фотография

авторизация на сайте

webmoney авторизация на сайте

  • Пожалуйста, авторизуйтесь для ответа.
12 ответов в данной теме

#1 Новичок armposts.ru (WMID 209803385103 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 16-июня 14
  • Webmoney BL

Отправлено 16 июня 2014 - 13:01

При авторизации на сайте через login.webmoney 

 

 

происходит ошибка:

= Ошибка при получении тикета =

в чем может быть проблема

 

 

 

<?php
$urlid=""; // УКАЖИТЕ URLID, СООТВЕТСТВУЮЩИЙ ВАШЕМУ URL
$mywmid=""; // УКАЖИТЕ ВАШ WMID, ЗАРЕГИСТРИРОВАННЫЙ В LOGIN.WEBMONEY
$CertPath="home/web/public_html/WMunited.cer"; // УКАЖИТЕ ПУТЬ К КОРНЕВОМУ СЕРТИФИКАТУ LOGIN.WEBMONEY НА ВАШЕМ СЕРВЕРЕ
 
IF(!$_POST['WmLogin_WMID']) {
    echo "Вы не авторизованы!<br>";
    echo "<A href=https://login.wmtran...eeper.aspx?RID=".$urlid."&lang=ru-RU>авторизоваться</A>";
} ELSE {
    $testticket=preg_match('/^[a-zA-Z0-9\$\!\/]{32,48}$/i', $_POST['WmLogin_Ticket']);
    if($_POST['WmLogin_UrlID']==$urlid && $testticket==1) { 
        echo "=== Тикет получен успешно === <br>";
        
        // Формируем запрос для проверки тикета
        $xml="
        <request>
         <siteHolder>$mywmid</siteHolder>
         <user>".$_POST['WmLogin_WMID']."</user>
         <ticket>".$_POST['WmLogin_Ticket']."</ticket>
         <urlId>".$urlid."</urlId>
         <authType>".$_POST['WmLogin_AuthType']."</authType>
         <userAddress>".$_POST['WmLogin_UserAddress']."</userAddress>
        </request>
        ";
        // Отправляем запрос и получаем ответ
        $resxml=_GetAnswer($xml);
        // Разбираем XML-ответ
        $xmlres = simplexml_load_string($resxml);
        if(!$xmlres) echo "Не получен XML-ответ";
        $result=strval($xmlres->attributes()->retval);
        // Если результат не равен 0 - прерываем и выдаем ошибку
        if($result!=0) echo "Тикет ошибочный :(";
        else {
            echo "Тикет верный :) Вы авторизованы!<br>";
            echo "Ваш WMID - ".$_POST['WmLogin_WMID']."<br>";
            // Выполняем необходимые действия, например, авторизуем пользователя, начинаем сессию и т.д.
            // ...
        }
    } else echo "=== Ошибка при получении тикета ===";
}
 
// Функция передает XML-запрос на сервер Login.WebMoney и получает от него ответ
function _GetAnswer($xml){
    global $CertPath;
    // Инициализируем сеанс CURL
    $ch = curl_init("https://login.wmtran...uthorize.xiface");
    // В выводе CURL http-заголовки не нужны
    curl_setopt($ch, CURLOPT_HEADER, 0);
    // Возвращать результат, а не выводить его в браузер
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    // Метод http-запроса - POST
    curl_setopt($ch, CURLOPT_POST,1);
    // Что передаем?
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
    // Задаем корневой сертификат для проверки
    curl_setopt($ch, CURLOPT_CAINFO, $CertPath);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
    // Выполняем запрос, ответ помещаем в переменную $result;
    $result=curl_exec($ch);
    if(curl_errno($ch)) echo "Curl Error number = ".curl_errno($ch).", Error desc = ".curl_error($ch)."<br>";
    curl_close($ch); 
    return $result; 
 
}
?>

 


    • 0
  • Наверх

#2 Обычный пользователь, не сотрудник AndrewTishkin (WMID 282697973392 )

  • Группа: Модераторы
  • сообщений 16 602
  • Регистрация: 17-ноября 08
  • МестоположениеРоссия/Глазов
  • Webmoney BL

Отправлено 16 июня 2014 - 14:09

Ну дык Вы значение retval посмотрите (выведите через echo),:) по нему уже может понятнее станет, после просмотра документации или гугления.
Не станет - огласите этот числовой код ошибки тут
1zpt4647mzk.png.png Реферально-партнёрские ссылки и откровенная (само)реклама на форуме допускаются только в личной подписи :excl:
    • 0
  • Наверх

#3 Новичок armposts.ru (WMID 209803385103 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 16-июня 14
  • Webmoney BL

Отправлено 16 июня 2014 - 14:19

я выводил через echo не помогает тот же ошибка
    • 0
  • Наверх

#4 Обычный пользователь, не сотрудник AndrewTishkin (WMID 282697973392 )

  • Группа: Модераторы
  • сообщений 16 602
  • Регистрация: 17-ноября 08
  • МестоположениеРоссия/Глазов
  • Webmoney BL

Отправлено 16 июня 2014 - 14:49

Твоя моя не понимай? :(
Может матом попросить НАМ число сказать, если иначе не понимаете?
1zpt4647mzk.png.png Реферально-партнёрские ссылки и откровенная (само)реклама на форуме допускаются только в личной подписи :excl:
    • 0
  • Наверх

#5 Новичок armposts.ru (WMID 209803385103 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 16-июня 14
  • Webmoney BL

Отправлено 16 июня 2014 - 15:17

Твоя моя не понимай? :(
Может матом попросить НАМ число сказать, если иначе не понимаете?

я вам хорошо понимаю.
при авторизации на открывающим странице пишет:Ошибка при получении тикета [/size]
я попробовал как вы сказали дает тот же ошибка ,там никакой числовой код ошибки нету
http://sf.uploads.ru/URfsI.png
    • 0
  • Наверх

#6 Обычный пользователь, не сотрудник AndrewTishkin (WMID 282697973392 )

  • Группа: Модераторы
  • сообщений 16 602
  • Регистрация: 17-ноября 08
  • МестоположениеРоссия/Глазов
  • Webmoney BL

Отправлено 17 июня 2014 - 22:28

Значит я запутался в фигурных скобках и else. :( Не retval надо проверять, до него дело даже не доходит и он потому конечно же пустой....

Коли у Вас выводится этот текст, то не равно истине значение проверки
if($_POST['WmLogin_UrlID']==$urlid && $testticket==1) {
Выводите значения этих трёх задействованных в логическом выражении переменных и увидите, что чему оказалось не равно
1zpt4647mzk.png.png Реферально-партнёрские ссылки и откровенная (само)реклама на форуме допускаются только в личной подписи :excl:
    • 0
  • Наверх

#7 Новичок armposts.ru (WMID 209803385103 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 16-июня 14
  • Webmoney BL

Отправлено 19 июня 2014 - 11:49

Значит я запутался в фигурных скобках и else. :( Не retval надо проверять, до него дело даже не доходит и он потому конечно же пустой....

Коли у Вас выводится этот текст, то не равно истине значение проверки
if($_POST['WmLogin_UrlID']==$urlid && $testticket==1) {
Выводите значения этих трёх задействованных в логическом выражении переменных и увидите, что чему оказалось не равно

изменил значение 

if($_POST['WmLogin_UrlID']=$urlid and $testticket=1)

и получил ошибку такого рода

 

 

=== Тикет получен успешно === 
Curl Error number = 77, Error desc = Problem with the SSL CA cert (path? access rights?)
Не получен XML-ответ


    • 0
  • Наверх

#8 Обычный пользователь, не сотрудник AndrewTishkin (WMID 282697973392 )

  • Группа: Модераторы
  • сообщений 16 602
  • Регистрация: 17-ноября 08
  • МестоположениеРоссия/Глазов
  • Webmoney BL

Отправлено 19 июня 2014 - 23:57

cURL не может выполнить https-запрос из-за того, что не видит сертификатов, файла WMunited.cer

Или путь к нему указан неверный, или нет прав доступа к этому файлу


1zpt4647mzk.png.png Реферально-партнёрские ссылки и откровенная (само)реклама на форуме допускаются только в личной подписи :excl:
    • 0
  • Наверх

#9 Новичок denikos (WMID 347051173956 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 08-февраля 15
  • Webmoney BL

Отправлено 08 февраля 2015 - 13:50

Приветствую! Та же самая проблема!

Делаю как в инструкции:

$xml="
        <request>
         <siteHolder>$mywmid</siteHolder>
         <user>".$_POST['WmLogin_WMID']."</user>
         <ticket>".$_POST['WmLogin_Ticket']."</ticket>
         <urlId>".$urlid."</urlId>
         <authType>".$_POST['WmLogin_AuthType']."</authType>
         <userAddress>".$_POST['WmLogin_UserAddress']."</userAddress>
        </request>
        ";

 

Затык происходит видимо на:   <authType>".$_POST['WmLogin_AuthType']."</authType>

потому, что при запросе:

print "WmLogin_WMID:&nbsp;".$_POST['WmLogin_WMID']."<br>";
print "WmLogin_Ticket:&nbsp;".$_POST['WmLogin_Ticket']."<br>";
print "WmLogin_AuthType:&nbsp;".$_POST['WmLogin_AuthType']."<br>";
print "WmLogin_UserAddress:&nbsp;".$_POST['WmLogin_UserAddress']."<br>";
 
Получаем все, кроме AuthType:
WmLogin_WMID: 34........56
WmLogin_Ticket: ckD............(скрыл на всякий случай)...........sk6Qob8
WmLogin_AuthType: 
WmLogin_UserAddress: 178.90.106.76

    • 0
  • Наверх

#10 Знаток ^-^ (WMID 273407224562 )

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

Отправлено 08 февраля 2015 - 16:23

А сайт подключён к WM Login?

Подключение сайта к WM Login доступно только персональным и выше аттестатам.


Бесплатный SSL на 3 мес. / Сертификат SSL от 299 руб.
    • 0
  • Наверх

#11 Новичок denikos (WMID 347051173956 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 08-февраля 15
  • Webmoney BL

Отправлено 08 февраля 2015 - 17:26

А сайт подключён к WM Login?

Подключение сайта к WM Login доступно только персональным и выше аттестатам.

Я же urlid получил! Конечно подключен. Можете сами проверить http://wm.zone-d.org/user


    • 0
  • Наверх

#12 Новичок denikos (WMID 347051173956 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 08-февраля 15
  • Webmoney BL

Отправлено 08 февраля 2015 - 17:59

http://owebmoney.ru/...les/login.shtml - инструкция

 

 

$xml="
        <request>
         <siteHolder>$mywmid</siteHolder>
         <user>".$_POST['WmLogin_WMID']."</user>
         <ticket>".$_POST['WmLogin_Ticket']."</ticket>
         <urlId>".$urlid."</urlId>
         <authType>".$_POST['WmLogin_AuthType']."</authType>
         <userAddress>".$_POST['WmLogin_UserAddress']."</userAddress>
        </request>
        ";

 

 

 

// Отправляем запрос и получаем ответ
$resxml=_GetAnswer($xml);
// Разбираем XML-ответ
$xmlres = simplexml_load_string($resxml);
if(!$xmlres) echo "Не получен XML-ответ";
$result=strval($xmlres->attributes()->retval);
 
// Если результат не равен 0 - прерываем и выдаем ошибку
if($result!=0) echo "Тикет ошибочный :(";
else {
echo "Тикет верный :) Вы авторизованы!<br>";
echo "Ваш WMID - ".$_POST['WmLogin_WMID']."<br>";
 
 
Не получен XML-ответ НЕ ВЫХОДИТ, значит $xmlres я получил.
При выводе $result на экран вижу единицу, что означает - Неверные аргументы
и соответственно ответ от скрипта: echo "Тикет ошибочный :(";

    • 0
  • Наверх

#13 Знаток ^-^ (WMID 273407224562 )

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

Отправлено 09 февраля 2015 - 17:57

Оу, ну если владельцем ресурса является 413410479937, тогда вопросов не имею)
 
Скорее всего проблема в кодировке. Вы можете посмотреть, что получаете в ответ. После

// Отправляем запрос и получаем ответ
$resxml=_GetAnswer($xml);

вывести $resxml

echo $resxml;

Удалось? Что там показывает? Кракозябры имеются?


Бесплатный SSL на 3 мес. / Сертификат SSL от 299 руб.
    • 0
  • Наверх