Офис НП AMWAY в Ярославле
Купить продукцию Амвей в Ярославле
На карте Купить AMWAY в ЯрославлеПриобрести высококачественную продукцию Амвей в Ярославле, получить консультации по бизнесу, заказать продукцию или получить заказ:
Адрес: улица Валентины Терешковой, дом 1 (Вход со двора)
Телефон: +7 (920) 112-00-91
Email: matyxho@mail.ru
Сайт: https://www.amway.ru/user/lebedem
Визитка: http://yar.meweb.ru
FAQ (готовые сниппеты): .htaccessДобавить сниппет Авторизация Добавить сниппет
FAQ (готовые сниппеты) » .htaccess
Блокировка доступа к резервным копиям и исходникамБлокируем доступ к скрытым директориям и файлам, чьи названия начинаются с точкиДоступные переменные и флаги в .htaccessЗапрет на доступ к каталогам без аутентификации
Запрет на преобразование существующих файлов и директорийЗапрет на открытие файла прямым запросомРазрешаем доступ к веб-шрифтам из всех доменовРазрешаем любым файлам обрабатываться как .php
Как автоматически перенаправить мобильные устройства на определенную страницу или каталог?Как запретить выполнение php там, где это не нужно?Как при отсутствии индексного файла запретить просмотр содержимого каталога?Как сделать переадресацию на www, чтобы не было дубля сайта?
Как сделать собственную страницу ошибок?Как сохранить сессию для основного домена и всех поддоменов?Как увеличить лимит размера загрузок?Изменить индексную страницу в каталоге по умолчанию
КэшированиеПереименование названия сессииПринудительная кодировка страницПолный запрет на доступ к сайту или отдельному каталогу
Отключаем вывод ошибок и оставляем только их запись в log- файлУвеличиваем безопасность cookie, включив режим HTTP Only
Блокировка доступа к резервным копиям и исходникам
Некоторые редакторы могут оставлять резервные копии, и лучше запретить доступ к ним во избежании утечки важной информации. Расширение можно добавить свое
Код: APACHE
<FilesMatch "(.(bak|config|sql|fla|ini|log|sh|inc|swp|dist)|~)$">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Блокируем доступ к скрытым директориям и файлам, чьи названия начинаются с точки
Код: APACHE
<IfModule mod_rewrite.c>
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)." - [F]
</IfModule>


Добавлено: Опубликовал  Pisatel 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} # полная строка запроса в том виде, в котором ее присылает браузер


Добавлено: Опубликовал  Pisatel Pisatel Добавлено  06 июня 2014 13:40:02 06. июня 2014 Последнее обновление:  06 июня 2014 14:55:52 06 июня 2014 14:55:52

Вверх
Запрет на доступ к каталогам без аутентификации
Речь идет о .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 Pisatel

Вверх
Запрет на преобразование существующих файлов и директорий
Когда у нас включен mod_rewrite, преобразовывающий динамические адреса в статические, иногда бывает необходимо, чтобы он не обрабатывал реально существующие файлы и папки. Для этого в .htaccess добавляем следующее:
Код: APACHE
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


Добавлено: Опубликовал  Pisatel Pisatel Добавлено  06 июня 2014 13:35:22 06. июня 2014

Вверх
Запрет на открытие файла прямым запросом
Иногда бывает необходимо запретить вызов файла напрямую( например, всевозможных конфигов и т.п. ). Для этого используй следующий код в .htaccess:
Код: APACHE
<Files config.php>
deny from all
</Files>



Внимание! Файлы будут запрещены к вызову напрямую, пользователь получит ошибку 403( недостаточно прав), однако через include, include_once, require, require_once файл будет по-прежнему доступен.
Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Разрешаем доступ к веб-шрифтам из всех доменов
Код: APACHE
<IfModule mod_headers.c>
<FilesMatch ".(ttf|ttc|otf|eot|woff|font.css)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Разрешаем любым файлам обрабатываться как .php
Данный код подойдет больше для мегакулхацкера, так как он позволяет обрабатываться любым файлам как .php, то есть, если на сайте есть "больная" картинка( шелл), данный код разрешит ей выполнение .php. Бери на заметку: увидишь такой код у себя- начинай потеть:
Код: APACHE
<Files kartinka.jpg>
ForceType application/x-httpd-php
SetHandler application/x-httpd-php
</Files>


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Как автоматически перенаправить мобильные устройства на определенную страницу или каталог?
Часто нужно отсечь мобильные устройства и выдать им мобильную версию сайта или определенный контент. Следующий код в .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 Pisatel Добавлено  06 июня 2014 11:33:15 06. июня 2014

Вверх
Как запретить выполнение php там, где это не нужно?
Иногда бывают ситуации, когда нам в каких-либо каталогах( например, изображение, видео, всевозможные файлы, загруженные пользователями) нужно запретить выполнение php- скриптов: это повышает уровень безопасности. Для этого в нужном каталоге создаем файл .htaccess ( или добавляем в существующий) со следующим содержанием:
Код: APACHE
php_flag engine off


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Как при отсутствии индексного файла запретить просмотр содержимого каталога?
Весьма часто в каталоге может отсутствовать индексный файл, который открывается по умолчанию( index.php, index.html, index.xhtml, index.htm), при таком незначительном упущении мы можем открыть( в зависимости от настроек сервера) доступ к файлам, лежащим в этом каталоге. Чтобы не допустить подобного, есть два варианта:
1. Закинуть во все каталоги пустой индексный файл;
2. И второй вариант- намного проще и предпочтительнее: в .htaccess добавляем строчку:
Код: APACHE
Options -Indexes


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Как сделать переадресацию на www, чтобы не было дубля сайта?
В корне сайта создаем (или добавляем в существующий) файл .htaccess:
Код: APACHE
RewriteEngine on
RewriteCond %{HTTP_HOST} ^meweb.ru$ [NC]
RewriteRule ^(.*)$ http://www.meweb.ru/$1 [R=301,L]


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Как сделать собственную страницу ошибок?
Создаем саму страницу или страницы- думаю, достаточно будет страницы с ошибкой 404( страница не найдена), и с ошибкой 403( доступ запрещен: недостаточно прав). После создания этих страниц в .htaccess добавляем следующее:
Код: APACHE
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php



Соответственно, твои страницы должны называться 404.php и 403.php, и лежать в корне.
Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Как сохранить сессию для основного домена и всех поддоменов?
Например, у твоего сайта есть основной адрес- meweb.ru, а также есть поддомены вида m.meweb.ru, en.meweb.ru и так далее, и вот тебе нужно, чтобы сессия для них всех была едина. Для этого в .htaccess прописываешь следующее:
Код: APACHE
php_value session.cookie_domain ".meweb.ru"



Точку и кавычки указать обязательно! Также данное правило распространяется и на www.meweb.ru.
Добавлено: Опубликовал  Pisatel Pisatel
Теги сниппета: .htaccess apache session all domain session 

Вверх
Как увеличить лимит размера загрузок?
Бывают случаи, что у хостера стоит ограничение на загружаемые файлы- 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 Pisatel

Вверх
Изменить индексную страницу в каталоге по умолчанию
Добавив в .htaccess в нужной категории, ты изменишь индексную страницу по умолчанию с index.php( index.html, index.xhtml, index.htm) на любую другую:
Код: APACHE
DirectoryIndex krokodil.php


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Кэширование
Кэширование в браузере на стороне пользователя (если на хостинге подключены модули 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 Pisatel

Вверх
Переименование названия сессии
Добавив данный код в .htaccess мы переименуем название сессии cookie из банального PHPSESSID в sid
Код: APACHE
<IfModule php5_module>
php_value session.name sid
</IfModule>


Добавлено: Опубликовал  Pisatel Pisatel

Вверх
Принудительная кодировка страниц
Если ты по каким-либо причинам забыл в теге meta указать кодировку страниц, данный код поможет тебе это исправить. Добавляем в файл .htaccess:
Код: APACHE
<FilesMatch "\.(php|htm|html|css|js)$">
AddDefaultCharset UTF-8
</FilesMatch>



Расширение можешь добавить свое или убрать ненужные.
Добавлено: Опубликовал  Pisatel Pisatel
Теги сниппета: .htaccess charset default windows1251 utf8 

Вверх
Полный запрет на доступ к сайту или отдельному каталогу
Бывают случаи, когда необходимо полностью блокировать всем доступ к сайту или отдельному каталогу( например, в каком-либо каталоге у вас хранятся данные или скрипты, которые не выполняются конкретно в этом каталоге). Для этого в нужной диррективе в файл .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 Pisatel

Вверх
Отключаем вывод ошибок и оставляем только их запись в log- файл
Дабы не дать потенциальному хакеру насладиться видом ошибок на твоем сайте, упростив ему задачу по взлому, да и просто из соображений красоты, отключаем вывод ошибок на страницах и пишем их только в 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 Pisatel

Вверх
Увеличиваем безопасность cookie, включив режим HTTP Only
Код: APACHE
<IfModule php5_module>
php_value session.cookie_httponly true
</IfModule>


Добавлено: Опубликовал  Pisatel Pisatel
Теги сниппета: .htaccess apache cookie security http only 

Вверх
Последние активные темы форума
  Темы Просмотров Ответов Последние сообщения
folder Вопрос по переделке bb-кода
PHP, MySQL
22328 5 Pisatel
26. мая 2017
folder Вопросы по Ajax форме обратной связи
CMS PHP Fusion
68539 48 Ditrin
19. февраля 2017
folder BBCode YouTube Video Colorbox mod
CMS PHP Fusion
15356 2 Pisatel
10. декабря 2016
folder Как лучше создать собственную страницу?
CMS PHP Fusion
17887 17 Pisatel
11. мая 2016
folder Небольшие вопросы по скриптам магазина и катало...
PHP, MySQL
144795 80 Pisatel
11. января 2016
folder BBCode Code mod
CMS PHP Fusion
14415 0 Pisatel
31. августа 2015
folder Ajax Like Dislike Article Panel
CMS PHP Fusion
22549 16 Pisatel
07. июля 2015
folder Хлебные крошки / BreadCrumbs SEO Panel
CMS PHP Fusion
26236 17 Pisatel
04. июля 2015
folder Abbr Description BBCode
CMS PHP Fusion
7663 0 Pisatel
15. июня 2015
folder Плагин Email рассылки Mail To All by Pisatel
CMS PHP Fusion
36987 32 Pisatel
26. апреля 2015
folder Подозрительный трафик и прочие страшилки
Всякая хрень
11792 2 Ditrin
23. апреля 2015
folder Мод Newsletter - рассылка писем пользователям с...
CMS PHP Fusion
31030 13 Pisatel
10. апреля 2015
folder Мод отправки писем PHPMailer для PHP-Fusion
CMS PHP Fusion
128277 113 Ditrin
06. апреля 2015
folder Появление неизвестного файла subscriptions.php
CMS PHP Fusion
8841 2 Pisatel
06. апреля 2015
folder Autoban on IP
CMS PHP Fusion
23180 13 Pisatel
03. апреля 2015