Как определить, сделан ли запрос GET с помощью встраивания "src"? - PullRequest
1 голос
/ 03 декабря 2011

Есть ли способ обнаружить в PHP запрос GET, сделанный встраиванием src в браузер?

<img src="xxxxx.php">

Я пытался использовать "REFFER", но это не очень хорошее решение.

Я не знаю много о http, но, может быть, если браузер использует тег, он отправляет заголовок, принимает изображение или что-то в этом роде, что я могу прочитать в php?

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

Ответы [ 3 ]

3 голосов
/ 03 декабря 2011

Есть ли способ обнаружить в PHP запрос GET, сделанный embed src в браузере?

Нет.

0 голосов
/ 23 июня 2017

Вы можете (но я бы не советовал) проверить заголовок Accept.
Если запрос был вызван <img src=..., он НЕ должен содержать «text / html».
Также описано здесь

Но опять же: я бы не советовал использовать это.
На данный момент это сломает функциональность загрузки изображений в Firefox и, возможно, в других браузерах.
Кроме того, это не помешает «злым парням» загрузить все ваши изображения, потому что они просто могут установить требуемый заголовок HTTP.

0 голосов
/ 03 декабря 2011

Если вы спрячете свои файлы в папке вне корня, создадите файл PHP, через который все изображения будут перенаправлены (image.php?lovely_duck.jpg), а затем искали $_SERVER['HTTP_REFERER'], это было бы возможно.Но вы можете подделать $_SERVER['HTTP_REFERER'] и , это не всегда надежно .

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

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