Web МастерскаяБлог
Сообщество Web Мастеров. Тут собрано всё, чтобы написать свой первый сайт, запустить его в Интернет и поддерживать его в течении всей его работы.
Nginx: Strict-Transport-Security
Заголовок
Когда браузер получает заголовок HSTS от сервера, он запоминает, что этот сайт должен всегда открываться через HTTPS. В течение указанного времени (например, 1 год) браузер будет автоматически перенаправлять все запросы к этому сайту на HTTPS, даже если пользователь вводит HTTP-адрес.
Формат заголовка HSTS:
Strict-Transport-Security (HSTS) — это механизм безопасности, который позволяет веб-сайтам объявить браузерам, что они должны взаимодействовать только через HTTPS. Это помогает предотвратить атаки, такие как downgrade-атаки, когда злоумышленник пытается заставить пользователя использовать небезопасное HTTP-соединение.Как работает HSTS
Когда браузер получает заголовок HSTS от сервера, он запоминает, что этот сайт должен всегда открываться через HTTPS. В течение указанного времени (например, 1 год) браузер будет автоматически перенаправлять все запросы к этому сайту на HTTPS, даже если пользователь вводит HTTP-адрес.
Формат заголовка HSTS:
Strict-Transport-Security: max-age=<seconds>; includeSubDomains; preload;max-age: Указывает, как долго браузер должен помнить, что сайт доступен только по HTTPS (в секундах).includeSubDomains: Указывает, что HSTS применяется ко всем поддоменам сайта.preload: Указывает, что сайт участвует в программе preload HSTS, что позволяет браузерам
- Жалоба
Nginx: Играет ли роль место блока location в конфигурации?
Да, расположение блока
Пример конфигурации:
...
location в конфигурационном файле Nginx играет важную роль. Блоки location обрабатываются в определенном порядке, и их порядок может влиять на то, как Nginx обрабатывает запросы.Порядок обработки блоков location
- Префиксные блоки: Сначала обрабатываются блоки location с префиксами (например,
location /file/). Nginx выбирает блок с самым длинным совпадающим префиксом. - Регулярные выражения: Если ни один префиксный блок не подходит, Nginx проверяет блоки с регулярными выражениями (например,
location ~* \.php$). Эти блоки проверяются в порядке их появления в конфигурационном файле. - Блок
location /: Если ни один из предыдущих блоков не подходит, используется блокlocation /, который является "универсальным" блоком для всех запросов.
Пример конфигурации:
server {
server_name example.com;
root /var/www/html;
location /file/ {
rewrite ^/file/(.*)$ /access.php?file=$1 last;
}
location ~* \.php$ {
includeКак запретить прямой просмотр изображений на PHP и Nginx
Запрет просмотра определенных изображений через PHP — это эффективный способ контроля доступа к контенту на вашем сайте. Это может быть полезно для защиты конфиденциальных данных, ограничения доступа к изображениям для определенных пользователей или групп, а также для предотвращения несанкционированного использования контента. В этой статье мы рассмотрим, как настроить запрет просмотра изображений с помощью PHP и Nginx.
Обязательно к прочтению:
PHP позволяет вам выполнять логику на стороне сервера перед тем, как вернуть изображение пользователю. Это дает вам возможность:
Обязательно к прочтению:
- Тема: Запуск PHP файла при прямом обращении к картинке
- Тема: Как определить картинку: Встроена в страницу или прямая ссылка?
Зачем использовать PHP для контроля доступа?
PHP позволяет вам выполнять логику на стороне сервера перед тем, как вернуть изображение пользователю. Это дает вам возможность:
- Проверять авторизацию: Убедиться, что пользователь авторизован для просмотра изображения.
- Ограничивать доступ: Запрещать доступ к определенным изображениям для определенных пользователей или групп.
- Логировать запросы: Записывать, кто и когда пытался
SiteMap.xml: xmlns="http://..." или xmlns="https://... "
Кратко о том как в карте сайта (sitemap.xml) правильно писать строку:
Так:
Верно будет указывать XMLNS с использованием HTTP-схемы, так как схема
Вот правильный вариант:
Хотя формально использование схемы https: тоже возможно, однако это менее распространено и чаще всего вызывает сомнения у некоторых парсеров и валидаторов. Поэтому для максимальной совместимости и уверенности лучше придерживаться классического варианта с
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">Так:
xmlns="http://..." или так: xmlns="https://... ".
Верно будет указывать XMLNS с использованием HTTP-схемы, так как схема
http: традиционно поддерживается стандартом sitemaps.org и повсеместно принята в качестве стандартного формата.Вот правильный вариант:
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">Хотя формально использование схемы https: тоже возможно, однако это менее распространено и чаще всего вызывает сомнения у некоторых парсеров и валидаторов. Поэтому для максимальной совместимости и уверенности лучше придерживаться классического варианта с
http....Максимально количество ссылок в XML карте сайта (SiteMap)
Максимальное количество ссылок в одной XML-карте (sitemap) ограничено стандартом формата Google и других поисковиков и составляет 50 тысяч ссылок.
Если на вашем ресурсе больше 50 тысяч URL, необходимо разделить их на несколько XML-карт и объединить их общей картой индексов (sitemap index). Каждая отдельная карта должна подчиняться этому лимиту.
Формат индекса выглядит следующим образом:
Таким образом, если у вас большое количество URL, лучше сегментировать их на несколько файлов и создать общий индексный файл для лучшей индексации поисковиками.
Возможно, будет интересно: Блог: Пример XML карты, что ссылается...
Если на вашем ресурсе больше 50 тысяч URL, необходимо разделить их на несколько XML-карт и объединить их общей картой индексов (sitemap index). Каждая отдельная карта должна подчиняться этому лимиту.
Формат индекса выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://danfa.net/sitemap1.xml</loc>
<lastmod>2025-10-05T12:00:00Z</lastmod>
</sitemap>
<sitemap>
<loc>https://danfa.net/sitemap2.xml</loc>
<lastmod>2025-10-06T12:00:00Z</lastmod>
</sitemap>
</sitemapindex>Таким образом, если у вас большое количество URL, лучше сегментировать их на несколько файлов и создать общий индексный файл для лучшей индексации поисковиками.
Возможно, будет интересно: Блог: Пример XML карты, что ссылается...
Категории
- Apache 6
- CMS 3
- CSS 16
- FTP 1
- HTML 11
- JavaScript 43
- MySQL 17
- Nginx 16
- PHP 51
- phpMyAdmin 2
- SVG 3
- URL 1
- XML 3
- Безопасность 7
- Библиотека JS 16
- Графика 3
- Доменное имя 1
- Инструкция 1
- Кодировка 2
- Контент 8
- Мнение 1
- Мобильное устройство 1
- Монетизация сайта 2
- Настройка 3
- Оптимизация 2
- Ошибка 10
- Поисковая система 1
- Продвижение сайта 6
- Производительность 1
- Софт 1
- Старт 2
- Сценарий 1
- Функция 1
- Хостинг | Сервер 3
Реклама














