- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите как для определенного location указать разрешенные типы файлов (допустим jpg и gif), т.е. что бы nginx открывал только разрешенные типы файлов, а все остальные - 403.
Как вариант:
location ~* ^.+\.(jpg|jpeg|gif)$ {
root /home/test;
}
location / {
return 403;
}
Будет открывать jpg,jpeg и gif из папки /home/test, а на остальное выдавать 403
Только какой в этом смысл? Зачем держать другие типы файлов в web, но их не показывать?))
Т.е. можно указывать location в location ?
т.е. нужно в конфиге написать так:
Я хочу данное правило назначить на каталог в который будут загружаться пользовательские картинки, что бы если злоумышленнику как нибудь удалось загрузить не разрешенный тип файла, он его не смог потом запустить.
Не так.
Отдельно указывается первый location и он срабатывает, если файл попадает под нужную маску.
Если файл не попадает, то срабатывает второй location и выдаётся 403.
Примерно так:
location ~* ^.+\upload\.(jpg|jpeg|gif)$ {
root /home/test;
}
location /upload/ {
return 403;
}
Хотя точно не помню, как определённые маски файлов указываются для отдельной папке. Здесь могут быть ошибки, но примерно так.
root /home/test;
location ~* ^/upload/.+\.(jpg|jpeg|gif)$ {
}
location /upload/ {
return 403;
}
и читать документацию, о том как работают location'ы в nginx