Есть ли у кого-нибудь предложения о том, как разрешать загрузку файлов со страниц на моем сайте и запрещать доступ, если кто-то набирает или вставляет прямой URL-адрес в браузер?Запретить прямой доступ к файлам
ответ
Вместо прямой ссылки на ваши файлы, обратитесь к скрипту php/asp/python/whatever, который сначала проверяет реферер. Если реферер находится в вашем домене, перенаправляйтесь к фактическому файлу.
Не знаете, на каком языке вы работаете, но в .NET вы можете добавить их в папку App_Data, которая не просматривается, и написать файл пользовательского обработчика (.ashx) для извлечения файлов. Это добавляет уровень безопасности, когда ваш обработчик может выполнить некоторую проверку правил перед тем, как обслуживать файл для клиента.
Это зависит от вашего веб-сервера. С помощью Apache вы можете использовать mod_rewrite rules, чтобы заблокировать попытку загрузки, где HTTP_REFERER не со своего сайта. (. Я полагаю, что-то подобное существует для IIS)
Изменение пример «Заблокированные Инлайн-изображения», вы в конечном итоге с чем-то вроде этого:
RewriteCond %{HTTP_REFERER} !^http://YOUR_SITE_HERE/ALLOWED_PATH/.*$ [NC]
RewriteRule .*\.PROTECTED_FILE_SPEC$ [F]
Там один нюанс здесь, и это является важным. Не все браузеры отправляют заголовок HTTP_REFERER. Таким образом, эта загрузка не только будет загружена не с вашей домашней страницы, но также будет блокировать загрузку с вашего сайта, когда браузер не отправит HTTP_REFERER.
(Обратите внимание, что оригинальная версия этих правил будет разрешить загрузку, когда браузер не поддерживает HTTP_REFERER. Я изменил его на основании требования, не позволяя загрузки, когда URL будет вставлен непосредственно в браузере.)
- 1. Запретить прямой доступ к файлам
- 2. Запретить прямой доступ к файлам в папке
- 3. Запретить прямой доступ к php-файлам
- 4. Запретить прямой доступ к файлам php (MVC)
- 5. Запретить доступ к файлам XML
- 6. Запретить прямой доступ к файлам или каталогам с использованием .htaccess
- 7. Как запретить прямой доступ к файлам в каталоге AJAX
- 8. Запретить прямой доступ к файлам в Jetty 7
- 9. Отключить прямой доступ к определенным файлам (включая)
- 10. Запретить прямой URL-запрос к файлам в определенной папке
- 11. Запретить прямой доступ ко всем файлам .php, кроме index.php
- 12. Отключить прямой доступ к файлам в PHP
- 13. Прямой доступ к старым файлам MDB
- 14. Прямой доступ к файлам в delphi
- 15. Запретить прямой доступ к определенной странице
- 16. Запретить прямой доступ к файлу PHP
- 17. Запретить прямой доступ к изображениям URL
- 18. Запретить прямой доступ к файлу в htaccess?
- 19. Полностью запретить доступ к файлам C++
- 20. Запретить внешний доступ к файлам php
- 21. Как запретить HTTP-доступ к файлам PHP?
- 22. Запретить доступ к определенным файлам на сервере
- 23. Запретить доступ к файлам других пользователей
- 24. Запретить доступ к файлам, кроме программы?
- 25. Как предотвратить прямой доступ к файлам из браузера?
- 26. Как запретить прямой доступ к файлу XML на сервере
- 27. Htaccess - Запретить доступ к файлам PHP, но разрешить конкретную папку
- 28. Как запретить доступ к файлам, когда люди присматривают за ними?
- 29. «Запретить все», но все-таки разрешить WordPress доступ к файлам?
- 30. разрешить доступ только к homepage.html, но запретить прямой доступ к другим PHP файлов в drectory
Перенаправление в файл не соответствует критериям OP. После перенаправления браузера на прямой URL пользователь имеет прямой URL-адрес и может вставлять его напрямую. Вы можете заставить скрипт обслуживать сам файл, но в этот момент вы также можете пойти с решением mod_rewrite (или IIS). – ThatBlairGuy