2010-07-13 5 views
0

Я пытаюсь инициировать загрузку с сервера, который даст запрет 403, если референс не установлен в тот же домен. В настоящее время Header() позволяет перенаправить пользователя в местоположение файла и начать загрузку, но referrer всегда установлен на мой скрипт. Использование завитка приведет к загрузке файла на сервер. Может ли кто-нибудь помочь мне найти работу, чтобы перенаправить пользователя, а также настроить реферер ???Альтернативный заголовок() для установки Referer в PHP?

Пример фрагмента кода:

header("Location: $filelocation"); # Need to set Referer = $url 

ответ

1

Referer, или вообще любой запрос заголовка, всегда задается запрашивающего партии. Ваш сервер, являющийся участником , отвечающий, не может заставить клиента (браузер) установить какой-либо конкретный заголовок для запроса. В браузере полностью настроены заголовки для отправки.

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

+0

Я понимаю, как подделывать заголовки в curl, но снова мне нужно сделать эту клиентскую сторону. Я не хочу файлы, клиенты делают. Так что, если PHP не может заставить заголовки запроса есть способ сделать это в javascript, когда я делаю запрос к файлу php, который в настоящее время перенаправляет меня? EDIT: Приносим извинения, если это OT, поскольку javascript не находится в тегах. – ANaNiMuSe

+0

@ANaNiMuSe Вы можете установить заголовки запросов, используя Javascript, да. Вы можете получить необработанные данные изображения таким образом и создать элемент '', используя его. Это может быть или не быть тем, что вы хотите, вы не сможете загрузить только изображение, оно всегда должно быть встроено в HTML-страницу. Но вы должны внимательно прочитать мой ответ. – deceze

+0

Я просто судимое это как исправить: фильеры (" перенаправлять<тела OnLoad = \" javascript: window.location = '$ filelocation'; \ ">"); Не werkin ... Можете ли вы подробнее рассказать о своем решении javascript? Я знаю, что а) его можно выполнить для этого. Б) Я очень близок к тому, чтобы понять это, но мне нужно будет ударить головой о стену в течение нескольких часов или найти волшебника, который раньше столкнулся с этим зверем. Заранее благодарим! – ANaNiMuSe

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