Web Мастерская
Как запретить прямой просмотр изображений на 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 карты, что...
Пример XML карты, что ссылается на другие XML карты
Простой пример XML-карты (sitemap index), которая ссылается на другие XML-карты:
Объяснение примера:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<!-- Первая ссылка на sitemap -->
<sitemap>
<loc>https://example.com/sitemap1.xml</loc>
<lastmod>2025-10-05T12:00:00+00:00</lastmod>
</sitemap>
<!-- Вторая ссылка на sitemap -->
<sitemap>
<loc>https://example.com/sitemap2.xml</loc>
<lastmod>2025-10-06T14:30:00+00:00</lastmod>
</sitemap>
<!-- Третья ссылка на sitemap -->
<sitemap>
<loc>https://example.com/sitemap3.xml</loc>
<lastmod>2025-10-07T10:15:00+00:00</lastmod>
</sitemap>
</sitemapindex>Объяснение примера:
sitemapindex: Основной контейнер для ссылок на другие XML-карты.sitemap: Тег, внутри которого указаны отдельные ссылки на конкретные XML-карты.loc: Обязательный элемент, задаёт абсолютный URL карты сайта.lastmod: Необязательный
Как сделать резервную копию MySQL командой mysqldump
Один из самых быстрых способов сохранить резервную копию базы данных MySQL — использование команды
Выполните следующую команду в терминале Linux или Windows (PowerShell или cmd):
Параметры:
Команда создаст резервную копию указанной базы данных и сохранит её в файл backup.sql. Этот файл можно скопировать на другой сервер или устройство для сохранности.
Резервное копирование отдельной таблицы:
Создание сжатого архива:
...
mysqldump. Эта команда позволяет экспортировать всю базу данных либо выбранные таблицы в файл формата SQL, который впоследствии можно восстановить.Как создать бекап?
Выполните следующую команду в терминале Linux или Windows (PowerShell или cmd):
mysqldump -u username -p password database_name > backup.sqlПараметры:
username— имя пользователя MySQL.password— пароль пользователя (пароль можно ввести после приглашения).database_name— имя базы данных, которую нужно сохранить.backup.sql— имя файла, в который будет сохранена копия.
Команда создаст резервную копию указанной базы данных и сохранит её в файл backup.sql. Этот файл можно скопировать на другой сервер или устройство для сохранности.
Альтернативные опции
Резервное копирование отдельной таблицы:
mysqldump -u username -p password database_name table_name > table_backup.sqlСоздание сжатого архива:
mysqldump -u