webirus
@webirus
Тыжверстальщик! Наверстай мне упущенное...

Как через .htaccess запретить прямой доступ к файлу, но разрешить его использование через ajax?

Собственно, вопрос такой.
Есть файл myfile.js, который что-то там делает, но не суть.
И есть другой файл myvar.* (любого расширения)
В нем хранится только 1 строка, которая переводится в переменную.
А суть в том, чтобы этот файл myvar никак нельзя было посмотреть из вне.
Только через ajax запрос к файлу с этого же доменного имени.
  • Вопрос задан
  • 280 просмотров
Пригласить эксперта
Ответы на вопрос 2
megafax
@megafax
web-программист
Неверная логика.
Cамый банальный и неправильный способ - реагировать на заголовок X-Requested-With: xmlhttprequest и Referer: mysite.ru, которые можно подделать.
Сделайте доступ к нужному файлу через промежуточный скрипт, который уже решает можно или нельзя.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Только через ajax запрос к файлу с этого же доменного имени.
Можно сделать доступным двумя способами:
1. Или для конкретного пользователя (через сессию)
2. Или для всех подряд

Других вариантов - нет.

PS: CORS - влияет только на доступ через AJAX с другого домена ИСКЛЮЧИТЕЛЬНО ТОЛЬКО ИЗ БРАУЗЕРА!, но никак не защищает от прямого вызова! Например, через консольный curl.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы