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

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

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Athreem
Отправлено: 08 Октября, 2017 - 00:14:19
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2017  


Помог: 0 раз(а)




Есть сайт который после выполнения на нём действий переадресовывает на мой сайт http://mysite[dot]ru/#token=12345 и передаёт параметр в таком виде #token, как его получить через $_GET['token'] не получается (и не должно? ведь переход идёт с другого сайта.
 
 Top
Строитель Модератор
Отправлено: 08 Октября, 2017 - 01:00:15
Post Id



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Athreem
Спойлер (Отобразить)
 
 Top
Athreem
Отправлено: 08 Октября, 2017 - 16:15:40
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2017  


Помог: 0 раз(а)




Строитель пишет:
Athreem
Спойлер (Отобразить)


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

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



Участник


Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014  
Откуда: Украина


Помог: 73 раз(а)




Athreem пишет:
Строитель пишет:
Athreem
Спойлер (Отобразить)


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

На ссылку (мой сайт/#token=12345) переадресовывает 2ой сайт и передаёт в ней токен.
А если не много подумать?
Спойлер (Отобразить)
 
 Top
andrewkard
Отправлено: 08 Октября, 2017 - 20:14:25
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Athreem пишет:
передаёт параметр в таком виде #token, как его получить через $_GET['token'] не получается (и не должно? ведь переход идёт с другого сайта.

так и можно, как проверяли? Писали логи запросов, писали что то в БД?

(Отредактировано автором: 08 Октября, 2017 - 20:15:00)

 
 Top
Мелкий Супермодератор
Отправлено: 08 Октября, 2017 - 22:02:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Athreem пишет:
и не должно? ведь переход идёт с другого сайта.

С какого сайта переход не имеет значения.
Фрагмент URL после # - не передаётся на сервер при выполнении запроса браузером.
Программно доступен только с браузера, т.е. возможно достать через JS и затем уже отправлять на серверную сторону.


-----
PostgreSQL DBA
 
 Top
andrewkard
Отправлено: 08 Октября, 2017 - 22:29:04
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Athreem пишет:
http://mysite[dot]ru/#token=12345

недосмотрел #,
так и передайте как GET http://mysite[dot]ru/?token=12345
 
 Top
Athreem
Отправлено: 09 Октября, 2017 - 02:01:16
Post Id


Новичок


Покинул форум
Сообщений всего: 11
Дата рег-ции: Сент. 2017  


Помог: 0 раз(а)




Спасибо всем кто ответил, разобрался с этой проблемой, сам же и не доглядел что можно отправить с ? вместо #.
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 для того чтобы сайт вернул нужный ответ (имитировать браузер?).
 
 Top
andrewkard
Отправлено: 09 Октября, 2017 - 08:59:53
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Athreem пишет:
Возможно нужны дополнительный параметры передавать в curl для того чтобы сайт вернул нужный ответ (имитировать браузер?)

вполне вероятно, пробуйте
 
 Top
LIME
Отправлено: 10 Октября, 2017 - 14:50:49
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




судя по всему это классическая реализация авторизации для REST
если ты смог токен получить то сначала посмотри как он передается из браузера
Athreem пишет:
если перейти прямо из браузера по этой ссылке всё работает
ты ссылку кликаешь или вводишь в адресную строку? если первое то попробуй ввести
и поищи заголовок Authorization:
еще поищи в заголовках слово Bearer
вобщем похоже на OAuth но не факт
(Добавление)
http://www.php.su/lessons/?lesson_11
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB