Проверка http-реферера из ajax callplus, могу ли я вернуть имя файла javascript после проверки?

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

В своих тестах я использую JSONP для перехода между доменами и отправки обратно JSON через PHP. Это работает.

Мой вопрос состоит из двух частей:

1.) Когда я делаю вызов AJAX на стороне клиента в jQuery через .GET, могу ли я проверить реферер http на стороне сервера? Я использую PHP для тестирования, но, скорее всего, живая версия будет на PERL. Мы используем белую проверку, поэтому есть множество утвержденных поставщиков, которых я буду проверять. Нужно ли мне использовать POST для получения реферера или я могу передать его через .GET?

2.) Если они являются утвержденным поставщиком, я хочу вернуть JSON с элементами страницы. Поскольку JSON немного длинный, есть ли способ вместо отправки обратно закодированного JSON отправить обратно имя файла javascript, содержащее JSON, который я могу проанализировать?

Другими словами, я бы вернул имя файла.


person user581733    schedule 06.04.2011    source источник


Ответы (1)


используйте $_SERVER('HTTP_REFERER'), чтобы получить адрес реферала в php. Вам не нужно POST или GET или что-то еще, достаточно простого запроса.

php может включать файлы в качестве содержимого, поэтому вам не нужно отвечать на имя файла, вы можете ответить на файл. никаких осложнений.

header('Content-type: application/json');
include('/files/json/filename.json');
person Gergely Fehérvári    schedule 06.04.2011
comment
Спасибо. Я не хочу разбирать json в php, я хочу вернуть его обратно после проверки на стороне клиента. Ваш пример подойдет? - person user581733; 06.04.2011
comment
Думаю, я не могу испытать удачу и спросить, как это сделать в PERL? К сожалению, серверы, на которых это происходит, имеют не php, а perl. - person user581733; 06.04.2011
comment
У меня тоже нет, так что не расстраивайтесь :-) - person user581733; 06.04.2011