Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Получить данные из адресной строки передаваемые другим сайтом.
Форумы портала PHP.SU » » Вопросы новичков » Получить данные из адресной строки передаваемые другим сайтом.

Страниц (1): [1]
 

1. Athreem - 08 Октября, 2017 - 00:14:19 - перейти к сообщению
Есть сайт который после выполнения на нём действий переадресовывает на мой сайт http://mysite[dot]ru/#token=12345 и передаёт параметр в таком виде #token, как его получить через $_GET['token'] не получается (и не должно? ведь переход идёт с другого сайта.
2. Строитель - 08 Октября, 2017 - 01:00:15 - перейти к сообщению
Athreem
Спойлер (Отобразить)
3. Athreem - 08 Октября, 2017 - 16:15:40 - перейти к сообщению
Строитель пишет:
Athreem
Спойлер (Отобразить)


В таком способе проблема в получение адреса с которого был переадресован пользователь.
Выглядит это так (мой сайт) - (2ой сайт, авторизация и передача токена) - (мой сайт/#token=12345).

На ссылку (мой сайт/#token=12345) переадресовывает 2ой сайт и передаёт в ней токен.
4. Строитель - 08 Октября, 2017 - 16:22:25 - перейти к сообщению
Athreem пишет:
Строитель пишет:
Athreem
Спойлер (Отобразить)


В таком способе проблема в получение адреса с которого был переадресован пользователь.
Выглядит это так (мой сайт) - (2ой сайт, авторизация и передача токена) - (мой сайт/#token=12345).

На ссылку (мой сайт/#token=12345) переадресовывает 2ой сайт и передаёт в ней токен.
А если не много подумать?
Спойлер (Отобразить)
5. andrewkard - 08 Октября, 2017 - 20:14:25 - перейти к сообщению
Athreem пишет:
передаёт параметр в таком виде #token, как его получить через $_GET['token'] не получается (и не должно? ведь переход идёт с другого сайта.

так и можно, как проверяли? Писали логи запросов, писали что то в БД?
6. Мелкий - 08 Октября, 2017 - 22:02:10 - перейти к сообщению
Athreem пишет:
и не должно? ведь переход идёт с другого сайта.

С какого сайта переход не имеет значения.
Фрагмент URL после # - не передаётся на сервер при выполнении запроса браузером.
Программно доступен только с браузера, т.е. возможно достать через JS и затем уже отправлять на серверную сторону.
7. andrewkard - 08 Октября, 2017 - 22:29:04 - перейти к сообщению
Athreem пишет:
http://mysite[dot]ru/#token=12345

недосмотрел #,
так и передайте как GET http://mysite[dot]ru/?token=12345
8. Athreem - 09 Октября, 2017 - 02:01:16 - перейти к сообщению
Спасибо всем кто ответил, разобрался с этой проблемой, сам же и не доглядел что можно отправить с ? вместо #.
andrewkard пишет:
так и передайте как GET http://mysite[dot]ru/?token=12345

Я не имею доступа ко второму сайту, но благо у них есть способ передачи с ?.

PHP:
скопировать код в буфер обмена
  1. $ch = curl_init();
  2. curl_setopt($ch,CURLOPT_URL, "https://site1.ru/moder?client_id=12345&code='.$code);
  3. $response = curl_exec($ch);
  4. curl_close($ch);
  5. echo $response;


В итоге ответ возвращает ошибку {"error":"Unauthorized","status":401,"message":"authentication failed"}, получается что не видит код который я передаю? он 100% правильный так как если перейти прямо из браузера по этой ссылке всё работает. Возможно нужны дополнительный параметры передавать в curl для того чтобы сайт вернул нужный ответ (имитировать браузер?).
9. andrewkard - 09 Октября, 2017 - 08:59:53 - перейти к сообщению
Athreem пишет:
Возможно нужны дополнительный параметры передавать в curl для того чтобы сайт вернул нужный ответ (имитировать браузер?)

вполне вероятно, пробуйте
10. LIME - 10 Октября, 2017 - 14:50:49 - перейти к сообщению
судя по всему это классическая реализация авторизации для REST
если ты смог токен получить то сначала посмотри как он передается из браузера
Athreem пишет:
если перейти прямо из браузера по этой ссылке всё работает
ты ссылку кликаешь или вводишь в адресную строку? если первое то попробуй ввести
и поищи заголовок Authorization:
еще поищи в заголовках слово Bearer
вобщем похоже на OAuth но не факт
(Добавление)
http://www.php.su/lessons/?lesson_11

 

Powered by ExBB FM 1.0 RC1