- Сообщений: 118
- Спасибо получено: 2
Как создать и настроить свой веб-сервер на VDS (05 сен 2024)
Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?
Блокировка пользователей сайта с определенных ip
- superlamer
- Автор темы
- Не в сети
- Давно я тут
Less
Больше
12 года 2 мес. назад #1
от superlamer
superlamer создал тему: Блокировка пользователей сайта с определенных ip
Hi!
Скажите, можно ли заблокировать пользователей сайта с того или иного ip-адреса? Ибо достали.
Скажите, можно ли заблокировать пользователей сайта с того или иного ip-адреса? Ибо достали.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- serge
- Не в сети
- Модератор
Less
Больше
- Сообщений: 986
- Спасибо получено: 146
12 года 2 мес. назад #2
от serge
А я смогу! - А поглядим! - А я упрямый!
serge ответил в теме Блокировка пользователей сайта с определенных ip
Посредством файла .htaccess возможно очень многое, в том числе и это:
Название файла htaccess расшифровывается как «hypertext access» (доступ к гипертексту), и он представляет собой файл конфигурации, расположенный в корневом каталоге вашего веб-сайта, и позволяет выставлять настройки сервера. В wordpress одна из ключевых задач данного файла заключается в том, чтобы помочь серверу легче распознать и запустить CMS. Но давайте разузнаем, чем же еще нам может помочь этот небольшой клочок кода. Новичок вы или профессионал, ВСЕГДА создавайте резервную копию файла, перед тем как его править.
Запрет на просмотр директорий
Хотя иногда бывает очень удобно разрешить пользователям просматривать директории, оставлять их открытыми для всех ведёт за собой определенные риски и последствия. Запретить просмотр директорий можно очень просто, добавив строку кода в файл htaccess где-то между “# BEGIN WordPress” и “# END“:
Предотвращение хотлинкинга
Текстовые пираты, которые копируют контент вашего веб-сайта довольно плохие личности ввиду нескольких причин, но те, кто воруют изображения, также вам не друзья, хотя они по сути и не воруют их, а просто ссылаются на них ли публикуют на своих сайтах, используя ресурсы вашего хостинга. Опять же, с точки зрения безопасности, и для того, чтобы предотвратить расход пропускных возможностей вашего хостинга, лучше запретить использовать ваши изображения. Это можно сделать, добавив в файл htaccess следующий код (заменив “mywebsite.com” на ваш собственный домен).
Отображение собственной страницы в случае ошибки
Существует множество причин к тому, почему следует отображать собственные страницы на случай ошибки. Хотя многие шаблоны WP позволяют вам без труда устанавливать собственные страницы с ошибкой, вы также быстро можете сделать это самостоятельно, добавив следующий код в файл htaccess:
Конечно же, вам также придется создать и загрузить собственную страницу.
SEO-оптимизированное перенаправление 301 (редирект)
Каждый раз, когда вы изменяете URL-структуру вашего веб-сайта (во время обновления дизайна или при переезде на другой сервер), вам скорее всего понадобится позаботиться о перенаправлении. Просто добавьте следующий код со старыми адресами страниц, за которыми следуют новые. Это позволит вам сохранить рейтинги страниц.
Блокировка нежелательных гостей с ссылающихся доменов
Хотя редко вебмастеры хотели бы блокировать собственный приходящий трафик, бывают случаи когда это необходимо. Следующий код, добавленный в файл htaccess, позволит вам блокировать трафик с конкретных доменов.
Первая строка код проверяет, не пришел ли трафик с сайта вроде wearespammers.com, а вторая проверяет субдомены, а третья определяет доменную зону (.org, .net. и т.д.).
Блокировка посетителей с определенных IP-адресов
Вы также можете заблокировать определенные IP-адреса. Следующий код, например, блокирует трафик с 145.177.12.119 и субдомены блокированного IP 012.43.4.
Позволяет выставить доступ только конкретным IP-адресам
Используя следующий код, вы можете позволить посещать веб-сайт только с конкретных IP-адресов.
Данный код запрещает доступ всем посетителям, за исключением IP-адреса 123.456.789.012, либо диапазона 496.742.011.xxx.
Изменение исходной страницы директории
Хотите загружать страницу отличную от index.php или index.html при первой загрузке сайта? Тогда вам нужно добавить следующую строку в ваш htaccess-файл.
Определение предела загрузки для PHP
Если вы когда-нибудь сталкивались с проблемой загрузки больших файлов на ваш сервер, то для ее решения можно также воспользоваться файлом htaccess. Первое значение в представленном коде отвечает за максимальный размер файла, который вы можете загрузить на сервер, вторая страница отвечает за максимальный объем опубликованных данных, а третья за максимальное количество секунд, в течение которых может продлиться работа скрипта, после чего он будет запрещен. И последняя строка отвечает за время, за которое скрипт может парсить введенные данные.
Принудительное кэширование файлов
Вы можете ускорить работу вашего веб-сайта для тех пользователей, кто уже посещал ваш сайт ранее, если контент ваших страниц не изменялся с тех пор. Следующий код выставляет три разных промежутка времени для различных типов файлов (всё время указано в секундах).
Учтите, что переаттестация вынуждает браузер проверять страницу на наличие изменений с момента первого посещения.
Добавляем слеш
Некоторые эксперты утверждают, что слеш положительно сказывается на SEO, хотя другие говорят, что это не имеет значения. Главное, что от этого хуже не будет:
Добавляем заголовки со сроком истечения
Как и принудительное кэширование, эти заголовки сообщают браузерам, что файлы не будут изменяться определенный промежуток времени, а это значит, что браузерам не обязательно каждый раз загружать их заново.
Хотя по умолчанию время выставлено в секундах, вы также можете использовать минуты, часы, дни, недели, месяцы и годы.
Защита директорий паролем
Сначала вам нужно будет создать файл под названием “.htpasswd”, и разместить его выше корневого каталога, чтобы он не был доступен по mydomainname.com/.htpassword . В этом файле вы можете указать информацию о пароле для вашего сайта:
Далее создайте новый файл “.htaccess” и загрузите его в директорию, которую хотите заблокировать, и внесите туда следующий код:
Первая строка – это полный серверный путь до вашего файла htpasswd. Если вам хочется, чтобы только определенный пользователь имел доступ, то нужно будет заменить последнюю строку на:
Защита отдельных файлов паролем
Для того чтобы заблокировать отдельные файлы, вам нужно создать или добавить в ваш существующий файл htpasswd, а также создать и загрузить файл htaccess в директорию, в которой вы хотите защитить файлы:
Защита файлов htaccess
Для того чтобы еще больше защитить ваш веб-сайт, нужно защитить файлы htaccess:
Будет отображена ошибка 403. Имя файла может быть изменено на что угодно для того, чтобы защитить его, так как он расположен в той же директории, что и указанный файл htaccess.
Отключение отображение запроса на скачивание
Если вы не хотите, чтобы пользователи имели возможность просматривать и скачивать конкретные типы файлов, то можно добавить следующий код и тогда файлы будут скачиваться автоматически:
Компрессия посредством mod_deflate
Можно повысить скорость загрузки и скачивания для пользователей посредством модуля mod_deflate в Apache, который сжимает данные до 70%.
Удаление категории из URL
Хотите сократить
на простой
? Тогда вам нужно воспользоваться следующим кодом:
Перевод текста с помощью Google
Хотите, чтобы конкретные страницы вашего веб-сайта можно было перевести на другой язык? Следующий код позволит вам перенаправить страницу в переводчик Google, который определит исходный язык по доменной зоне.
Используем другое расширение файла
Хотите изменить расширение ваших файлов с .php на .wow или что-то в этом роде? Тогда вам понадобится следующий код:
Исключение расширения файла
Данный код позволит вам скрыть расширения файла.
Название файла htaccess расшифровывается как «hypertext access» (доступ к гипертексту), и он представляет собой файл конфигурации, расположенный в корневом каталоге вашего веб-сайта, и позволяет выставлять настройки сервера. В wordpress одна из ключевых задач данного файла заключается в том, чтобы помочь серверу легче распознать и запустить CMS. Но давайте разузнаем, чем же еще нам может помочь этот небольшой клочок кода. Новичок вы или профессионал, ВСЕГДА создавайте резервную копию файла, перед тем как его править.
Запрет на просмотр директорий
Хотя иногда бывает очень удобно разрешить пользователям просматривать директории, оставлять их открытыми для всех ведёт за собой определенные риски и последствия. Запретить просмотр директорий можно очень просто, добавив строку кода в файл htaccess где-то между “# BEGIN WordPress” и “# END“:
Code:
Options All -Indexes
Предотвращение хотлинкинга
Текстовые пираты, которые копируют контент вашего веб-сайта довольно плохие личности ввиду нескольких причин, но те, кто воруют изображения, также вам не друзья, хотя они по сути и не воруют их, а просто ссылаются на них ли публикуют на своих сайтах, используя ресурсы вашего хостинга. Опять же, с точки зрения безопасности, и для того, чтобы предотвратить расход пропускных возможностей вашего хостинга, лучше запретить использовать ваши изображения. Это можно сделать, добавив в файл htaccess следующий код (заменив “mywebsite.com” на ваш собственный домен).
Code:
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?mysite.com/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
Отображение собственной страницы в случае ошибки
Существует множество причин к тому, почему следует отображать собственные страницы на случай ошибки. Хотя многие шаблоны WP позволяют вам без труда устанавливать собственные страницы с ошибкой, вы также быстро можете сделать это самостоятельно, добавив следующий код в файл htaccess:
Code:
ErrorDocument 404 /404.html
ErrorDocument 403 /403.html
ErrorDocument 500 /500.html
Конечно же, вам также придется создать и загрузить собственную страницу.
SEO-оптимизированное перенаправление 301 (редирект)
Каждый раз, когда вы изменяете URL-структуру вашего веб-сайта (во время обновления дизайна или при переезде на другой сервер), вам скорее всего понадобится позаботиться о перенаправлении. Просто добавьте следующий код со старыми адресами страниц, за которыми следуют новые. Это позволит вам сохранить рейтинги страниц.
Code:
Redirect 301 http://www.mysite.com/article.html http://www.mysite.com/archives/article
Блокировка нежелательных гостей с ссылающихся доменов
Хотя редко вебмастеры хотели бы блокировать собственный приходящий трафик, бывают случаи когда это необходимо. Следующий код, добавленный в файл htaccess, позволит вам блокировать трафик с конкретных доменов.
Code:
RewriteEngineon
RewriteCond %{HTTP_REFERER} wearespammers.com [NC]
RewriteCond %{HTTP_REFERER} subdomain.wearespammers.com [NC]
RewriteCond %{HTTP_REFERER} baddomain. [NC]
RewriteRule .* - [F]
Блокировка посетителей с определенных IP-адресов
Вы также можете заблокировать определенные IP-адреса. Следующий код, например, блокирует трафик с 145.177.12.119 и субдомены блокированного IP 012.43.4.
Code:
allow from all
deny from 145.177.12.119
deny from 012.43.4.
Позволяет выставить доступ только конкретным IP-адресам
Используя следующий код, вы можете позволить посещать веб-сайт только с конкретных IP-адресов.
Code:
orderdeny,allow
deny from all
allow from 123.456.789.012
allow from 496.742.011
Данный код запрещает доступ всем посетителям, за исключением IP-адреса 123.456.789.012, либо диапазона 496.742.011.xxx.
Изменение исходной страницы директории
Хотите загружать страницу отличную от index.php или index.html при первой загрузке сайта? Тогда вам нужно добавить следующую строку в ваш htaccess-файл.
Code:
Directory Indexnewpage.html
Определение предела загрузки для PHP
Если вы когда-нибудь сталкивались с проблемой загрузки больших файлов на ваш сервер, то для ее решения можно также воспользоваться файлом htaccess. Первое значение в представленном коде отвечает за максимальный размер файла, который вы можете загрузить на сервер, вторая страница отвечает за максимальный объем опубликованных данных, а третья за максимальное количество секунд, в течение которых может продлиться работа скрипта, после чего он будет запрещен. И последняя строка отвечает за время, за которое скрипт может парсить введенные данные.
Code:
php_value upload_max_filesize 30M
php_value post_max_size 30M
php_value max_execution_time 400
php_value max_input_time 400
Принудительное кэширование файлов
Вы можете ускорить работу вашего веб-сайта для тех пользователей, кто уже посещал ваш сайт ранее, если контент ваших страниц не изменялся с тех пор. Следующий код выставляет три разных промежутка времени для различных типов файлов (всё время указано в секундах).
Code:
# 1 year
<filesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header set Cache-Control "max-age=31536000, public"
</filesMatch>
# 2 days
<filesMatch ".(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
# 2 hours
<filesMatch ".(html|htm)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</filesMatch>
Учтите, что переаттестация вынуждает браузер проверять страницу на наличие изменений с момента первого посещения.
Добавляем слеш
Некоторые эксперты утверждают, что слеш положительно сказывается на SEO, хотя другие говорят, что это не имеет значения. Главное, что от этого хуже не будет:
Code:
<IfModulemod_rewrite.c>
RewriteCond %{REQUEST_URI} /+[^.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
</IfModule>
Добавляем заголовки со сроком истечения
Как и принудительное кэширование, эти заголовки сообщают браузерам, что файлы не будут изменяться определенный промежуток времени, а это значит, что браузерам не обязательно каждый раз загружать их заново.
Code:
<ifModulemod_expires.c>
ExpiresActiveOn
ExpiresByType text/html "access plus 2 days"
ExpiresByType image/gif "access plus 60 days"
ExpiresByType image/jpg "access plus 60 days"
ExpiresByType image/png "access plus 60 days"
ExpiresByType application/x-javascript "access plus 60 days"
ExpiresByType text/css "access plus 60 days"
ExpiresByType image/x-icon "access plus 360 days"
</IfModule>
Хотя по умолчанию время выставлено в секундах, вы также можете использовать минуты, часы, дни, недели, месяцы и годы.
Защита директорий паролем
Сначала вам нужно будет создать файл под названием “.htpasswd”, и разместить его выше корневого каталога, чтобы он не был доступен по mydomainname.com/.htpassword . В этом файле вы можете указать информацию о пароле для вашего сайта:
Code:
username1:password1
username2:password2
Далее создайте новый файл “.htaccess” и загрузите его в директорию, которую хотите заблокировать, и внесите туда следующий код:
Code:
AuthUserFile /path/to/htpasswd/file/.htpasswd
AuthGroupFile /dev/null
AuthName "name of directory"
AuthType Basic
require valid-user
Первая строка – это полный серверный путь до вашего файла htpasswd. Если вам хочется, чтобы только определенный пользователь имел доступ, то нужно будет заменить последнюю строку на:
Code:
require user username1
Защита отдельных файлов паролем
Для того чтобы заблокировать отдельные файлы, вам нужно создать или добавить в ваш существующий файл htpasswd, а также создать и загрузить файл htaccess в директорию, в которой вы хотите защитить файлы:
Code:
AuthUserFile /path/to/htpasswd/file/.htpasswd
AuthName "Name of Page"
AuthType Basic
<Files "thepage.html">
require valid-user
</Files>
Защита файлов htaccess
Для того чтобы еще больше защитить ваш веб-сайт, нужно защитить файлы htaccess:
Code:
<Files .htaccess>
Order Allow,Deny
Deny from all
</Files>
Будет отображена ошибка 403. Имя файла может быть изменено на что угодно для того, чтобы защитить его, так как он расположен в той же директории, что и указанный файл htaccess.
Отключение отображение запроса на скачивание
Если вы не хотите, чтобы пользователи имели возможность просматривать и скачивать конкретные типы файлов, то можно добавить следующий код и тогда файлы будут скачиваться автоматически:
Code:
AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov
Компрессия посредством mod_deflate
Можно повысить скорость загрузки и скачивания для пользователей посредством модуля mod_deflate в Apache, который сжимает данные до 70%.
Code:
<ifmodulemod_deflate.c="">
<filesmatch ".(js|css|.jpg|.gif|.png|.tiff|.ico)$"="">
SetOutputFilter DEFLATE
</filesmatch>
</ifmodule>
Удаление категории из URL
Хотите сократить
Code:
http://yourdomain.com/category/apples
на простой
Code:
http://yourdomain.com/apples
? Тогда вам нужно воспользоваться следующим кодом:
Code:
RewriteRule ^category/(.+)$ http://www.yourdomain.com/$1 [R=301,L]
Перевод текста с помощью Google
Хотите, чтобы конкретные страницы вашего веб-сайта можно было перевести на другой язык? Следующий код позволит вам перенаправить страницу в переводчик Google, который определит исходный язык по доменной зоне.
Code:
Options +FollowSymlinks
RewriteEngineOn
RewriteBase /
RewriteRule ^(.*)-(fr|de|es|it|pt)$ http://www.google.com/translate_c?hl=$2&sl=en&u=http://site.com/$1 [R,NC]
Используем другое расширение файла
Хотите изменить расширение ваших файлов с .php на .wow или что-то в этом роде? Тогда вам понадобится следующий код:
Code:
Options +FollowSymlinks
RewriteEngineOn
RewriteBase /
RewriteRule ^(.+).zig$ /$1.php [NC,L]
Исключение расширения файла
Данный код позволит вам скрыть расширения файла.
Code:
Options +FollowSymlinks
RewriteEngineOn
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php –f
RewriteRule ^(.+)$ /$1.php [L,QSA]
А я смогу! - А поглядим! - А я упрямый!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.