Joomla 4. Компонент K2 и форк K2ForJ4 (18 янв 2024)

Если вас, как и меня, достало выслушивать (вычитывать) бесконечные обещания разработчика K2 опубликовать версию компонента K2 под Joomla 4 (без чего невозможно реализовать апгрейд from Joomla 3 to Joomla 4) - воспользуйтесь форком K2ForJ4. Который в данный момент установлен и без каких-либо проблем работает на этом веб-сайте.

Блокировка пользователей сайта с определенных ip

Больше
11 года 6 мес. назад #1 от superlamer
Hi!
Скажите, можно ли заблокировать пользователей сайта с того или иного ip-адреса? Ибо достали. :(

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Dev banner 3
Больше
11 года 6 мес. назад #2 от serge
Посредством файла .htaccess возможно очень многое, в том числе и это:


Название файла 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]
Первая строка код проверяет, не пришел ли трафик с сайта вроде wearespammers.com, а вторая проверяет субдомены, а третья определяет доменную зону (.org, .net. и т.д.).

Блокировка посетителей с определенных 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]

А я смогу! - А поглядим! - А я упрямый!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Работает на Kunena форум