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

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

Собственно, вопрос такой.
Есть файл myfile.js, который что-то там делает, но не суть.
И есть другой файл myvar.* (любого расширения)
В нем хранится только 1 строка, которая переводится в переменную.
А суть в том, чтобы этот файл myvar никак нельзя было посмотреть из вне.
Только через ajax запрос к файлу с этого же доменного имени.
  • Вопрос задан
  • 256 просмотров
Пригласить эксперта
Ответы на вопрос 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.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы