Офис НП AMWAY в Ярославле
→ На карте Купить AMWAY: офис в ЯрославлеКонсультации, презентации, мастер–классы, знакомство с продукцией, заказ и выдача купленного товара:
●Адрес: улица Валентины Терешковой, дом 1 (Вход со двора)
●Телефон: +7 (920) 112-00-91
●Email: matyxho@mail.ru
●Сайт: https://www.amway.ru/user/lebedem
●Визитка: http://yar.meweb.ru
FAQ (готовые сниппеты) » .htaccess |
Блокировка доступа к резервным копиям и исходникам
Некоторые редакторы могут оставлять резервные копии, и лучше запретить доступ к ним во избежании утечки важной информации. Расширение можно добавить свое
Вверх
Некоторые редакторы могут оставлять резервные копии, и лучше запретить доступ к ним во избежании утечки важной информации. Расширение можно добавить свое
Код: APACHE
<FilesMatch "(.(bak|config|sql|fla|ini|log|sh|inc|swp|dist)|~)$">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
Добавлено: Pisatel
Вверх
Блокируем доступ к скрытым директориям и файлам, чьи названия начинаются с точки
Вверх
Код: APACHE
<IfModule mod_rewrite.c>
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)." - [F]
</IfModule>
Добавлено: Pisatel
Вверх
Доступные переменные и флаги в .htaccess
Вверх
Код: APACHE
######## Флаги: ########
[F] # запрещающий (forbidden).
[NC] # не учитывать регистр
[OR] # или
[G] # делает урл "мертвым", отдавая http ответ 410
[P] # вызывает прокси
[L] # остановка выполнения
[N] # следуюший раунд (перезапустить процесс преобразований, начав с первого правила)
[C] # связь со следующим правилом
[NS] # дает команду механизму преобразований пропустить директиву, если текущий подзапрос является внутренним подзапросом
[QSA] # указывает механизму преобразований на добавление, а не замену строки запроса из URL к существующей в строке подстановки
RewriteRule [R=301,L] # SEO-безопасный редирект
######## Переменные: ########
%{QUERY_STRING} # параметры запроса
%{PATH_INFO} # путь к файлу веб-страницы
%{HTTP_USER_AGENT} # содержимое заголовка User-Agent
%{HTTP_REFERER} # содержимое заголовка referer
%{HTTP_COOKIE} # содержимое заголовка
%{REMOTE_HOST} # имя хоста посетителя
%{REMOTE_USER} # имя пользователя, если он прошел авторизацию
%{REMOTE_METHOD} # обычно GET или POST
%{HTTP_HOST} # имя хоста веб-сайта
%{REMOTE_ADDR} # IP посетителя
%{REQUEST_FILENAME} # имя файла
%{REQUEST_URI} # строка запроса без имени хоста и параметров запроса
%{SCRIPT_FILENAME} # абсолютное имя файла
%{SERVER_ADMIN} # почтовый адрес администратора сервера
%{TIME_YEAR}
%{TIME_MON}
%{TIME_DAY}
%{TIME_HOUR}
%{TIME_MIN}
%{TIME_SEC}
%{TIME_WDAY} # текущая дата, время
%{THE_REQUEST} # полная строка запроса в том виде, в котором ее присылает браузер
Вверх
Запрет на доступ к каталогам без аутентификации
Речь идет о .htpasswd- весьма часто этому методу защиты уделяют мало внимания, а зря.
Итак, например, защищаем директорию admin. Для этого создаем в ней файл .htaccess с содержимым
Ну и далее- создаем сам файл .htpasswd (или как он там у тебя называется) в директории, путь к которой мы указали. Содержимое файла будет примерно следующим
Кодировать можно при помощи определенных программ, либо онлайн сервиса, например, этого
Вверх
Речь идет о .htpasswd- весьма часто этому методу защиты уделяют мало внимания, а зря.
Итак, например, защищаем директорию admin. Для этого создаем в ней файл .htaccess с содержимым
Код: APACHE
AuthName "Security Zone"
# Security Zone- можешь назвать как угодно
AuthType Basic
AuthUserFile /var/bla/bla/bla/.htpasswd
# здесь- полный путь до файла .htpasswd
# кстати, его можно назвать как угодно, хоть .mysecpass
require user mynickname
# mynickname заменяем на логин, какой душе угодно
Ну и далее- создаем сам файл .htpasswd (или как он там у тебя называется) в директории, путь к которой мы указали. Содержимое файла будет примерно следующим
Код: APACHE
mynickname:$apr1$ZtP4WAAT$d4W5B7vuYHStZ4NYd5nQ90
# здесь: логин mynickname, пароль 12345678
Кодировать можно при помощи определенных программ, либо онлайн сервиса, например, этого
Добавлено: Pisatel
Вверх
Запрет на преобразование существующих файлов и директорий
Когда у нас включен mod_rewrite, преобразовывающий динамические адреса в статические, иногда бывает необходимо, чтобы он не обрабатывал реально существующие файлы и папки. Для этого в .htaccess добавляем следующее:
Вверх
Когда у нас включен mod_rewrite, преобразовывающий динамические адреса в статические, иногда бывает необходимо, чтобы он не обрабатывал реально существующие файлы и папки. Для этого в .htaccess добавляем следующее:
Код: APACHE
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Добавлено: Pisatel 06. июня 2014
Вверх
Запрет на открытие файла прямым запросом
Иногда бывает необходимо запретить вызов файла напрямую( например, всевозможных конфигов и т.п. ). Для этого используй следующий код в .htaccess:
Внимание! Файлы будут запрещены к вызову напрямую, пользователь получит ошибку 403( недостаточно прав), однако через include, include_once, require, require_once файл будет по-прежнему доступен.
Вверх
Иногда бывает необходимо запретить вызов файла напрямую( например, всевозможных конфигов и т.п. ). Для этого используй следующий код в .htaccess:
Код: APACHE
<Files config.php>
deny from all
</Files>
Внимание! Файлы будут запрещены к вызову напрямую, пользователь получит ошибку 403( недостаточно прав), однако через include, include_once, require, require_once файл будет по-прежнему доступен.
Добавлено: Pisatel
Вверх
Разрешаем доступ к веб-шрифтам из всех доменов
Вверх
Код: APACHE
<IfModule mod_headers.c>
<FilesMatch ".(ttf|ttc|otf|eot|woff|font.css)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
Добавлено: Pisatel
Вверх
Разрешаем любым файлам обрабатываться как .php
Данный код подойдет больше для мегакулхацкера, так как он позволяет обрабатываться любым файлам как .php, то есть, если на сайте есть "больная" картинка( шелл), данный код разрешит ей выполнение .php. Бери на заметку: увидишь такой код у себя- начинай потеть:
Вверх
Данный код подойдет больше для мегакулхацкера, так как он позволяет обрабатываться любым файлам как .php, то есть, если на сайте есть "больная" картинка( шелл), данный код разрешит ей выполнение .php. Бери на заметку: увидишь такой код у себя- начинай потеть:
Код: APACHE
<Files kartinka.jpg>
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
</Files>
Добавлено: Pisatel
Вверх
Как автоматически перенаправить мобильные устройства на определенную страницу или каталог?
Часто нужно отсечь мобильные устройства и выдать им мобильную версию сайта или определенный контент. Следующий код в .htaccess с этим отлично справится
В примере мы отправили все мобильные арбузеры в папку /m/, ты же можешь послать их куда угодно, заменив параметр.
Вверх
Часто нужно отсечь мобильные устройства и выдать им мобильную версию сайта или определенный контент. Следующий код в .htaccess с этим отлично справится
Код: APACHE
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/m/.*$
RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC]
#следующая строка исключает iPad
RewriteCond %{HTTP_USER_AGENT} !^.*iPad.*$
#конец
RewriteCond %{HTTP_USER_AGENT} !macintosh [NC]
RewriteRule ^(.*)$ /m/ [L,R=302]
В примере мы отправили все мобильные арбузеры в папку /m/, ты же можешь послать их куда угодно, заменив параметр.
Добавлено: Pisatel 06. июня 2014
Вверх
Как запретить выполнение php там, где это не нужно?
Иногда бывают ситуации, когда нам в каких-либо каталогах( например, изображение, видео, всевозможные файлы, загруженные пользователями) нужно запретить выполнение php- скриптов: это повышает уровень безопасности. Для этого в нужном каталоге создаем файл .htaccess ( или добавляем в существующий) со следующим содержанием:
Вверх
Иногда бывают ситуации, когда нам в каких-либо каталогах( например, изображение, видео, всевозможные файлы, загруженные пользователями) нужно запретить выполнение php- скриптов: это повышает уровень безопасности. Для этого в нужном каталоге создаем файл .htaccess ( или добавляем в существующий) со следующим содержанием:
Код: APACHE
php_flag engine off
Добавлено: Pisatel
Вверх
Как при отсутствии индексного файла запретить просмотр содержимого каталога?
Весьма часто в каталоге может отсутствовать индексный файл, который открывается по умолчанию( index.php, index.html, index.xhtml, index.htm), при таком незначительном упущении мы можем открыть( в зависимости от настроек сервера) доступ к файлам, лежащим в этом каталоге. Чтобы не допустить подобного, есть два варианта:
1. Закинуть во все каталоги пустой индексный файл;
2. И второй вариант- намного проще и предпочтительнее: в .htaccess добавляем строчку:
Вверх
Весьма часто в каталоге может отсутствовать индексный файл, который открывается по умолчанию( index.php, index.html, index.xhtml, index.htm), при таком незначительном упущении мы можем открыть( в зависимости от настроек сервера) доступ к файлам, лежащим в этом каталоге. Чтобы не допустить подобного, есть два варианта:
1. Закинуть во все каталоги пустой индексный файл;
2. И второй вариант- намного проще и предпочтительнее: в .htaccess добавляем строчку:
Код: APACHE
Options -Indexes
Добавлено: Pisatel
Вверх
Как сделать переадресацию на www, чтобы не было дубля сайта?
В корне сайта создаем (или добавляем в существующий) файл .htaccess:
Вверх
В корне сайта создаем (или добавляем в существующий) файл .htaccess:
Код: APACHE
RewriteEngine on
RewriteCond %{HTTP_HOST} ^meweb.ru$ [NC]
RewriteRule ^(.*)$ http://www.meweb.ru/$1 [R=301,L]
Добавлено: Pisatel
Вверх
Как сделать собственную страницу ошибок?
Создаем саму страницу или страницы- думаю, достаточно будет страницы с ошибкой 404( страница не найдена), и с ошибкой 403( доступ запрещен: недостаточно прав). После создания этих страниц в .htaccess добавляем следующее:
Соответственно, твои страницы должны называться 404.php и 403.php, и лежать в корне.
Вверх
Создаем саму страницу или страницы- думаю, достаточно будет страницы с ошибкой 404( страница не найдена), и с ошибкой 403( доступ запрещен: недостаточно прав). После создания этих страниц в .htaccess добавляем следующее:
Код: APACHE
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
Соответственно, твои страницы должны называться 404.php и 403.php, и лежать в корне.
Добавлено: Pisatel
Вверх
Как сохранить сессию для основного домена и всех поддоменов?
Например, у твоего сайта есть основной адрес- meweb.ru, а также есть поддомены вида m.meweb.ru, en.meweb.ru и так далее, и вот тебе нужно, чтобы сессия для них всех была едина. Для этого в .htaccess прописываешь следующее:
Точку и кавычки указать обязательно! Также данное правило распространяется и на www.meweb.ru.
Вверх
Например, у твоего сайта есть основной адрес- meweb.ru, а также есть поддомены вида m.meweb.ru, en.meweb.ru и так далее, и вот тебе нужно, чтобы сессия для них всех была едина. Для этого в .htaccess прописываешь следующее:
Код: APACHE
php_value session.cookie_domain ".meweb.ru"
Точку и кавычки указать обязательно! Также данное правило распространяется и на www.meweb.ru.
Добавлено: Pisatel
Вверх
Как увеличить лимит размера загрузок?
Бывают случаи, что у хостера стоит ограничение на загружаемые файлы- 2Мб, 8Мб и т.п. Чтобы попробовать это изменить, добавьте в .htaccess следующий код:
Если нужен размер более 20Мб, соответственно, увеличивай и время таймаута. Предупреждаю: не факт, что это прокатит. Если данное изменение настроек сервера не поддерживается твоим хостером, ты увидишь ошибку.
Вверх
Бывают случаи, что у хостера стоит ограничение на загружаемые файлы- 2Мб, 8Мб и т.п. Чтобы попробовать это изменить, добавьте в .htaccess следующий код:
Код: APACHE
php_value post_max_size 20M
php_value upload_max_filesize 20M
php_value max_execution_time 400
php_value max_input_time 400
Если нужен размер более 20Мб, соответственно, увеличивай и время таймаута. Предупреждаю: не факт, что это прокатит. Если данное изменение настроек сервера не поддерживается твоим хостером, ты увидишь ошибку.
Добавлено: Pisatel
Вверх
Изменить индексную страницу в каталоге по умолчанию
Добавив в .htaccess в нужной категории, ты изменишь индексную страницу по умолчанию с index.php( index.html, index.xhtml, index.htm) на любую другую:
Вверх
Добавив в .htaccess в нужной категории, ты изменишь индексную страницу по умолчанию с index.php( index.html, index.xhtml, index.htm) на любую другую:
Код: APACHE
DirectoryIndex krokodil.php
Добавлено: Pisatel
Вверх
Кэширование
Кэширование в браузере на стороне пользователя (если на хостинге подключены модули mod_expires.so и mod_headers.so)
Запрет на кэширование:
Так же можно запретить кэширование не сразу всего сайта, а отдельных файлов или директорий
Вверх
Кэширование в браузере на стороне пользователя (если на хостинге подключены модули mod_expires.so и mod_headers.so)
Код: APACHE
<IfModule mod_expires.c>
<FilesMatch ".(jpg|gif|png|css|js|less|favicon\.ico|robots\.txt)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</FilesMatch>
</IfModule>
Запрет на кэширование:
Код: APACHE
<IfModule mod_headers.c>
Header append Cache-Control "no-store, no-cache, must-revalidate"
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "now"
</IfModule>
Так же можно запретить кэширование не сразу всего сайта, а отдельных файлов или директорий
Код: APACHE
## отдельный файл
<FilesMatch "myimg\.png$">
ExpiresActive On
ExpiresDefault "now"
Header append Cache-Control must-revalidate
</FilesMatch>
## либо сразу директорию
<LocationMatch ^/news/.*>
ExpiresDefault "now"
</LocationMatch>
Добавлено: Pisatel
Вверх
Переименование названия сессии
Добавив данный код в .htaccess мы переименуем название сессии cookie из банального PHPSESSID в sid
Вверх
Добавив данный код в .htaccess мы переименуем название сессии cookie из банального PHPSESSID в sid
Код: APACHE
<IfModule php5_module>
php_value session.name sid
</IfModule>
Добавлено: Pisatel
Вверх
Принудительная кодировка страниц
Если ты по каким-либо причинам забыл в теге meta указать кодировку страниц, данный код поможет тебе это исправить. Добавляем в файл .htaccess:
Расширение можешь добавить свое или убрать ненужные.
Вверх
Если ты по каким-либо причинам забыл в теге meta указать кодировку страниц, данный код поможет тебе это исправить. Добавляем в файл .htaccess:
Код: APACHE
<FilesMatch "\.(php|htm|html|css|js)$">
AddDefaultCharset UTF-8
</FilesMatch>
Расширение можешь добавить свое или убрать ненужные.
Добавлено: Pisatel
Вверх
Полный запрет на доступ к сайту или отдельному каталогу
Бывают случаи, когда необходимо полностью блокировать всем доступ к сайту или отдельному каталогу( например, в каком-либо каталоге у вас хранятся данные или скрипты, которые не выполняются конкретно в этом каталоге). Для этого в нужной диррективе в файл .htaccess добавляем( или создаем новый, если не существует) следующий код:
Небольшое пояснение: строка Order deny,allow задает последовательность работы запрета. То есть, ты можешь блокировать не всех подряд, а выборочные IP- адреса или группы IP- адресов. Небольшой пример:
То есть, мы запретили пользователю с IP 123.123.123.123 доступ к сайту или дирректории, а пользователю с IP 321.321.321.321 наоборот, разрешили. Если мы сделаем так
, то доступ будет открыт только для группы, IP которых начинается с 123.123.123. Надеюсь, суть понятна.
Вверх
Бывают случаи, когда необходимо полностью блокировать всем доступ к сайту или отдельному каталогу( например, в каком-либо каталоге у вас хранятся данные или скрипты, которые не выполняются конкретно в этом каталоге). Для этого в нужной диррективе в файл .htaccess добавляем( или создаем новый, если не существует) следующий код:
Код: APACHE
Order deny,allow
Deny from all
Небольшое пояснение: строка Order deny,allow задает последовательность работы запрета. То есть, ты можешь блокировать не всех подряд, а выборочные IP- адреса или группы IP- адресов. Небольшой пример:
Код: APACHE
Order deny,allow
Deny from 123.123.123.123
Allow from 321.321.321.321
То есть, мы запретили пользователю с IP 123.123.123.123 доступ к сайту или дирректории, а пользователю с IP 321.321.321.321 наоборот, разрешили. Если мы сделаем так
Код: APACHE
Order deny,allow
Deny from all
Allow 123.123.123
, то доступ будет открыт только для группы, IP которых начинается с 123.123.123. Надеюсь, суть понятна.
Добавлено: Pisatel
Вверх
Отключаем вывод ошибок и оставляем только их запись в log- файл
Дабы не дать потенциальному хакеру насладиться видом ошибок на твоем сайте, упростив ему задачу по взлому, да и просто из соображений красоты, отключаем вывод ошибок на страницах и пишем их только в log:
То же самое делает error_reporting(0);, но его нужно прописывать в каждой странице индивидуально.
Вверх
Дабы не дать потенциальному хакеру насладиться видом ошибок на твоем сайте, упростив ему задачу по взлому, да и просто из соображений красоты, отключаем вывод ошибок на страницах и пишем их только в log:
Код: APACHE
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_flag log_errors on
php_value error_log /location/to/php_error.log
То же самое делает error_reporting(0);, но его нужно прописывать в каждой странице индивидуально.
Добавлено: Pisatel
Вверх
Последние активные темы форума
Темы | Просмотров | Ответов | Последние сообщения | |
Вопрос по переделке bb-кода PHP, MySQL |
22338 | 5 | Pisatel 26. мая 2017 |
|
Вопросы по Ajax форме обратной связи CMS PHP Fusion |
68614 | 48 | Ditrin 19. февраля 2017 |
|
BBCode YouTube Video Colorbox mod CMS PHP Fusion |
15361 | 2 | Pisatel 10. декабря 2016 |
|
Как лучше создать собственную страницу? CMS PHP Fusion |
17900 | 17 | Pisatel 11. мая 2016 |
|
Небольшие вопросы по скриптам магазина и катало... PHP, MySQL |
144889 | 80 | Pisatel 11. января 2016 |
|
BBCode Code mod CMS PHP Fusion |
14423 | 0 | Pisatel 31. августа 2015 |
|
Ajax Like Dislike Article Panel CMS PHP Fusion |
22561 | 16 | Pisatel 07. июля 2015 |
|
Хлебные крошки / BreadCrumbs SEO Panel CMS PHP Fusion |
26258 | 17 | Pisatel 04. июля 2015 |
|
Abbr Description BBCode CMS PHP Fusion |
7669 | 0 | Pisatel 15. июня 2015 |
|
Плагин Email рассылки Mail To All by Pisatel CMS PHP Fusion |
37010 | 32 | Pisatel 26. апреля 2015 |
|
Подозрительный трафик и прочие страшилки Всякая хрень |
11800 | 2 | Ditrin 23. апреля 2015 |
|
Мод Newsletter - рассылка писем пользователям с... CMS PHP Fusion |
31044 | 13 | Pisatel 10. апреля 2015 |
|
Мод отправки писем PHPMailer для PHP-Fusion CMS PHP Fusion |
128381 | 113 | Ditrin 06. апреля 2015 |
|
Появление неизвестного файла subscriptions.php CMS PHP Fusion |
8845 | 2 | Pisatel 06. апреля 2015 |
|
Autoban on IP CMS PHP Fusion |
23190 | 13 | Pisatel 03. апреля 2015 |