Форум на Kuban.ru (http://forums.kuban.ru/)
-   Веб-дизайн и программирование (http://forums.kuban.ru/f1030/)
-   -   php редирект +.. (http://forums.kuban.ru/f1030/php_redirekt-7040554.html)

fanatnascar 24.07.2015 13:06

php редирект +..
 
В общем, надо с одного сайта перейти на другой, со своей хитрожопой авторизацией. Надо послать два хеадера, токен и печеньку.
На js не вариант, сервер не поддерживает options ни в каком виде, а xhr в cors всегда их шлет, итог 501 не поддерживается.
Остается php. Как мне редирекнуться через например location: но воткнуть свой хидер?
Пробовал слать предварительно header, но естественно, он уходит в браузер на отдаваемой страничке редиректа, а на цель редиректа не уходит.

fanatnascar 24.07.2015 15:35

Есть еще один вариант, через js сделать печеньку, но.. Для другого, не текущего домена.
Хром не хочет..

Искусственный Интеллект1 24.07.2015 15:59

Речь случайно не об [url=http://phpclub.ru/talk/threads/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0-%D0%BD%D0%B0-%D0%BF%D0%BE%D0%B4%D0%BE%D0%B1%D0%B8%D0%B8-microsoft-passport-%D0%BD%D0%B0-php-%D0%BC%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D0%B0%D1%8F-%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F.6586/]этом[/url]?

fanatnascar 24.07.2015 16:16

Нет, надо зацепиться к консоли сервера виртуализации, используя его апи.
Все данные по авторизации получаю через апи, а вот воспользоваться не удается. Надо подсунуть печеньку, хз насчет хидера - вроде он не нужен. И потом ифреймом подтянуть специальный урл сервера.

fanatnascar 24.07.2015 16:17

Забугровые дядьки пишут что у них все пашет, подозреваю - обновленные хром и мозила у меня уже не допускают междоменные печеньки.

Dude 24.07.2015 17:11

[quote=Фанат NASCAR;39624749]Надо послать два хеадера, токен и печеньку.[/quote]

вот через POST и пошлите.
Перв. пост - в ифрейм.
Второй - в top

может не сработать только в случае усиленной безопасности в настройках браузера.

fanatnascar 24.07.2015 22:28

5-Dude >хм.. А как в $.ajax задать цель : ифрейм? Как тут
<form target="myIframe" action="http://localhost/post.php" method="post">
<input type="hidden" value="someval" />
<input type="submit">
</form>

<iFrame src="" name="myIframe"></iFrame>

Ща погуглю

fanatnascar 24.07.2015 22:38

По описаниям - через $.ajax на ифрейм не натравить, а через динамическую форму дом не отправить кастом хеадер.. Но почитаю еще

fanatnascar 24.07.2015 22:46

Можно вроде попробовать следующее. Первый запрос - авторизационный - не требует хедеров и печенек. Его мы выполним с помощью динамически создаваемой формы и укажет targetом iframe. После чего сменим iframу src на нужный нам.
Ща запробую.

fanatnascar 25.07.2015 00:38

Не, невыходит. Авторизация проходит, видно по ответным данным. Результат авторизации по идее привязан к ифрейму. Но печеньки не появляются..
[img]http://joxi.ru/LQ2K7EVsOqQl2j.jpg[/img]
как
[img]http://joxi.ru/K823pZbCz3YvAO.jpg[/img]
данные в ифрейме перед установкой src
домен, порт и протокол у авторизации и загружаемой (нужной) страницы - один..

fanatnascar 25.07.2015 00:42

Пробовал .appendTo($('#work_wnd')) - форму цеплять К iframe. Вызывается отлично, но в остальном все то же.

fanatnascar 25.07.2015 00:50

Ну и да. Как только авторизуюсь через вебморду, все начинает работать - появляется печенька.. В соседнем окне авторизовываюсь, обновляю свою писанину - вуаля...
Сравнивал запросы - ответы побуквенно..
Разница только в кастомном хидере. Но мне он дается ТОЛЬКО после авторзации, да и не засунуть его никуда..

Dude 26.07.2015 19:28

[quote=Фанат NASCAR;39629246]хм.. А как в $.ajax задать цель : ифрейм? Как тут[/quote]
не знаю.
Расскажите, как на сайте-таргете происходит авторизация, может что и придумаем

fanatnascar 27.07.2015 11:22

12-Dude >тут наверно проще показать.. Есть мессенджер?

Dude 27.07.2015 18:26

13-Фанат NASCAR >
нету )

fanatnascar 27.07.2015 21:22

а почта?)

fanatnascar 27.07.2015 21:24

короче, я вписую в поля данные, после чего нажимаю login-кнопку, и вебморда делает жаваскриптом запрос к апи :)
Я дублирую этот запрос точь в точь, кроме отдельного хидера. Как его вставить через <form>, я не знаю. А через js запросы отбиваются, так как вебсервер не поддерживает options, которые всегда идут при кроссдоменных запросах )

Dude 29.07.2015 00:12

Если вам удается отправить форму со своего сайта в ифрейме, значит кукис на сайте-таргете должен появиться.
Или у вас форма тоже с сайта-таргета? Ну, тоесть, ифрейм изначально загружается с удаленного сайта?

fanatnascar 29.07.2015 01:22

17-Dude >не, в ифрейм я добавляю форму для организации пост запроса, аналогичного xhr-запросу родной формы сайта, и меняю по onload src ифрейма. Кукис не появляется сука(

Dude 29.07.2015 23:26

[quote=Фанат NASCAR;39659110]Кукис не появляется сука([/quote]
безопасность браузера.

[quote=Фанат NASCAR;39659110] и меняю по onload src ифрейма. Кукис не появляется сука( [/quote]
а если без онлоада.
Кукис есть? Т.е., авторизация проходится?

fanatnascar 30.07.2015 00:06

19-Dude >да, в ответке куча инфы в жсон. Я вот не могу выцепить момент, как кукис делается в оригинале. Формы там нет, js где то запрятан, а опыта все отследить по ф12 еще нет.

В сети в запросах только аналогичный моему, но кукис после него появляется.

И кстати в ифрейм страница входа не грузится, там js работает с адресной строкой, а она понятно к ифрейму не относится.

Мож я дам в личку данные для пробы, посмотреть?

fanatnascar 30.07.2015 00:07

++
В ответке есть инфа, без онлоада в ифрейм она попадает. Но кукиса нет.


Текущее время: 10:01. Часовой пояс GMT +3.