Перенаправление, если страница не вызывается из jQuery - PullRequest
2 голосов
/ 17 августа 2010

У меня есть страница, которая динамически загружается на другую страницу с помощью вызова jQuery.Я хочу сделать загруженную страницу доступной, только если она вызвана jQuery, и перенаправить, если к ней обращаются напрямую из адресной строки браузера.Как мне это сделать?

Спасибо!

Ответы [ 5 ]

5 голосов
/ 17 августа 2010

Вы не можете сделать это надежно. Причина проста: все может быть подделано.

Пользовательские HTTP-заголовки могут работать, а могут и не всегда, так как некоторые брандмауэры удаляют все неизвестные заголовки. Так что это не будет надежным с точки зрения всегда работы, когда это должно с точки зрения. И они даже могут быть добавлены к запросу вручную, используя такой инструмент, как расширение Firefox «Tamper Data» ... Так что это не будет надежным с точки зрения всегда перенаправления ...

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

Если вы просто делаете это для удобства (не с точки зрения безопасности), используйте параметр запроса. Если вы используете его в целях безопасности, я бы предложил придумать другой дизайн, так как вы ничего не можете навязать со стороны клиента ...

2 голосов
/ 17 августа 2010

Если запрос является ajax-запросом, включая запрос, выполненный с использованием jQuery, то будет установлено следующее:

$_SERVER['HTTP_X_REQUESTED_WITH']
1 голос
/ 17 августа 2010

Вы можете добавить параметр в свой запрос. Например jquery=true.

Таким образом, вы не обеспечите, чтобы пользователь не открывал напрямую из адресной строки, передающей этот параметр, но вы можете соответствующим образом обработать оба случая.

0 голосов
/ 17 августа 2010

добавьте пользовательский заголовок http в ваш jquery при отправке запроса на страницу и проверьте наличие заголовка на странице

0 голосов
/ 17 августа 2010

Я бы установил некоторую vale - возможно, строку запроса - когда будет выполнен вызов JQuery. Затем при загрузке новой страницы я бы проверил, существует ли это значение. Если значение есть, продолжайте загрузку страницы, иначе перенаправьте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...