2017-01-22 4 views
1

В настоящее время я работаю над проектом, который вращается вокруг следующего:Междоменное в PHP

Page 1 (domain1) перенаправляет на страницу 2 (домен2) перенаправляет на страницу 3 (домен2)

I хотите, чтобы содержимое не отображалось, пока пользователь не подтвердил, что он посетил страницу 1. По очевидным причинам я не могу использовать сеансы и файлы cookie, так как domain1 и domain2 являются двумя отдельными доменами.

$ _SERVER ['HTTP_REFERER'] - возможное решение, но его можно изменить или даже удалить из запросов браузера, поэтому у меня нет гарантии, что я не буду непреднамеренно блокировать законных пользователей, используя его.

Как я могу это сделать?

+0

Можете ли вы управлять параметрами перенаправления? Вы можете установить переменную-хэш для проверки данных или на основе некоторых параметров пользователя. – vuliad

+0

Да, могу. На странице 1 нет форм или пользовательских параметров - у него есть некоторые другие функции и перенаправление на страницу 2. Учтите, как я могу установить эту переменную хэша? – Mirian

+0

«У него есть другие функции» - о чем это? Можете ли вы изменить перенаправление со страницы 1 на страницу2 с помощью параметра, например, http: // page2 /? Token = hash_function ($ salt, $ user_ip)? – vuliad

ответ

0

Да. Вы не можете установить cookie без прямого запроса из браузера.

Вы можете передать токен при перенаправлении с http://page1 на номер http://page2/?token=hash_function ($ salt, $ user_ip).

Более сложный способ заключается в создании токена в домене с помощью page1 и повторной проверки его с помощью прямого запроса от сервера page2 server to page1. Это позволяет создавать «одноразовые» токены, и даже пользователь меняет свой ip во время сеанса (действительно редкий случай) - это перенаправление по-прежнему является действительным.

Смежные вопросы