Возможно кому то пригодится.
1. Управление доступом к файлам и каталогам
Защита паролем - это один аспект вопроса, но иногда нужно полностью блокировать пользователю возможность доступа к определённым файлам или каталогам. Таким задачи обычно возникают для системных папок, например, includes. Приложение должно иметь доступ к ним, а пользователь лишается всех привилегий.
Для решения задачи добавьте следующий код в файл .htaccess:
deny from all
Но такой ход блокирует доступ для всех, включая вас. Чтобы обеспечить себе доступ нужно указать IP свой адрес. Вот код:
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
xxx.xxx.xxx.xxx - ваш IP адрес. Если заменить последние три цифры на 0/12, например, то будет указан диапазон IP адресов в одной сети. Но такой подход может привести к проблемам, поэтому лучше указывать список IP адресов раздельно.
Если нужно блокировать определенный файл, включая сам .htaccess, используйте следующий код:
<Files .htaccess>
order allow,deny
deny from all
</Files>
Аналогично, если вам требуется открыть доступ с определенных IP адресов, перечислите их с помощью allow from.
<FilesMatch \".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$\">
Order Allow,Deny
Deny from all
</FilesMatch>
2. Запрещаем просмотр директории
Для запрещения просмотра содержимого директории используйте следующий код:
Options All -Indexes
3. Ускоряем загрузку с помощью сжатия файлов
Вы можете сжимать любые файлы, а не только изображения. Например, для сжатия HTML файлов используйте следующий код:
AddOutputFilterByType DEFLATE text/html
А для сжатия текстовых:
AddOutputFilterByType DEFLATE text/plain
Можно также сжимать JavaScript файлы или определять несколько типов файлов для архивации:
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
В качестве альтернативы можно сжимать все HTML, JavaScript, CSS и прочие файлы с помощью GZIP:
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \\.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text\\.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image\\.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
4. Кеширование файлов
Другой метод ускорения загрузки вашего сайта - кеширование файлов. вот что нужно добавить в файл .htaccess для включения кеширования:
<FilesMatch \".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$\">
Header set Cache-Control \"max-age=2592000\"
</FilesMatch>
Вы можете добавить типы файлов (или удалить некоторые из них) к списку в примере. Также можно использовать max-age для указания времени в секундах, для хранения ваших файлов в кеше.
5. Переименование файла .htaccess
По некоторым причинам, обычно связанным с безопасностью, может потребоваться переименование файла .htaccess. Что очень просто сделать. Теоретически, переименование файла .htaccess не должно вызывать проблем с выполнением приложений на вашем сервере, но если они вдруг появятся, нужно просто восстановить оригинальное имя.
AccessFileName htac.cess
Также нужно обновить всех вхождения в самом файле и там, где упоминается .htaccess, иначе возникнет масса ошибок.
6. Изменение индексной страницы по умолчанию
Если вам требуется, чтобы индексная страница отличалась от значения по умолчанию, index.html, index.php, index.htm и так далее, то данная задача решается легко. Вот что нужно добавить в файл .htaccess:
DirectoryIndex mypage.html
Замените mypage.html на адрес URL нужной страницы.
7. Ограничение размера файла загрузки в PHP, максимального размера запроса и максимального времени выполнения скрипта
.htaccess позволяет устанавливать некоторые значения, которые влияют на приложения PHP. Например, если вам требуется ограничить загрузку в PHP по причине экономии пространства на хостинге, используйте следующий код:
php_value upload_max_filesize 15M
Конечно, вы можете установить значение, которое требуется, в нашем примере 15M (MB) не является фиксированным. Также можно ограничить максимальны размер запроса для загрузки в PHP:
php_value post_max_size 10M
Измените 10M на то значение, которое вам требуется.
Если вы не хотите, чтобы скрипт выполнялся вечно, то можно ограничить время его работы:
php_value max_execution_time 240
240 - количество секунд до прерывания работы скрипта.
Если требуется ограничить время для скрипта на разбор введенных данных, используйте следующую строку:
php_value max_input_time 180
8. Маскировка типов файлов
Иногда нужно скрыть от пользователя типы файлов на сервере. Один из способов решить задачу - замаскировать их. Например, вы можете сделать так. что все файлы будут выглядеть как HTML или PHP:
ForceType application/x-httpd-php
ForceType application/x-httpd-php
Большинство возможностей .htaccess я пропустила) Добавила здесь только основное.
расскажи пожалуйста о бане IP подробнее, как банить одно IP и в каком месте прописать код? я как то пробовал банить свой IP но не получилось!