|
|
|
| Всем привет. Вот закончил разработку крупного проекта, выложился, теперь нужно защитить свое творение.
На сервере есть каталог со скриптами, к которым операторы обращаются по надобности для обновления некой статистики. Так вот я сделал вход по паролю, с ИП не выйдет, т.к. у них динамический. Для этого в папку со скриптами положил .htaccess с содержимым:
#Защищаем .htaccess файл от открытия
<Files .htaccess>
order allow,deny
deny from all
</Files>
#Запрещаем просмотр содержимого папки
Options All -Indexes
#При входе в папку запрашиваем логин/пароль
AuthType Basic
AuthName "Enter your login and password!"
AuthUserFile путь от корня/.htpasswd
require valid-user
|
В корень сайта положил .htpasswd. с логином и зашифрованным паролем.
Также в корень положил .htaccess со следующим содержанием:
#Защищаем .htaccess файл от открытия
<Files .htaccess>
order allow,deny
deny from all
</Files>
#Защищаем .htpasswd файл от открытия
<Files .htpasswd>
order allow,deny
deny from all
</Files>
|
По поводу этого будет пару вопросов:
1 - можно ли в последнем варианте объединить защиту файлов 2 в 1
2 - вообще стоит ли защищать эти файлы таким методом?
3 - нужно ли было скрывать содержимое директории, там где скрипты, если в ней нет индексного файла, при помощи
4 - Как переадресовать на главную человека, если он на форме запрашивающей логин/пароль нажал отмена получив в ответ 401 ошибку Authorization Required. Пробовал:
ErrorDocument 401 http://www.сайт/
|
не вышло
П.С. Что еще важно упомянуть в .htaccess для надежной защиты? С нетерпением буду ждать ответов. | |
|
|
|
|
|
|
|
для: TetRiska
(12.09.2011 в 23:33)
| | 1-2. Это не требуется, дело в том, что все файлы, начинающиеся с .ht скрыты уже на уровне httpd.conf при помощи следующего набора директив
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</FilesMatch>
| 3. Хуже не будет
4. Попробуйте указать путь без http://
| |
|
|
|
|
|
|
|
для: cheops
(13.09.2011 в 09:11)
| | 1-2 спасибо, администратор действительно это настроил
3 - доп. защита я считаю не помешает
4 - да это помогло, но в урле висит та папка, т.е. вводил сайт/папка/ -> вылезло окно авторизации -> нажал отмена -> остался на том же урле сайт/папка, а хотелось бы переадресовать на главную сайт/ | |
|
|
|
|
|
|
|
для: TetRiska
(13.09.2011 в 10:47)
| | Еще возникло пару вопросов по методам защиты и улучшения загрузки сайта, которые нашел в Интернете:
1 - Защита изображений от скачивания
Очень часто бывает, что веб-мастера нагло копируют
контент с Вашего сайта вместе с рисунками, причем рисунки
подгружаются с Вашего же сервера. Это создает лишний
трафик, что, зачастую, приводит к ряду проблем. Как же
защититься от таких веб-мастеров и не помешать поисковым
роботам индексировать изображения? Все просто:
RewriteEngine on
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://([^.]+\.)?site\. [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteCond %{HTTP_REFERER} !msn\. [NC]
RewriteCond %{HTTP_REFERER} !yahoo\. [NC]
RewriteCond %{REQUEST_URI} !^/hotlinker\.gif$
RewriteRule \.(gif|jpg|png)$ /hotlinker.gif [NC,L]
hotlinker.gif - изображение, которое будет отображаться,
вместо истинных изображений. Рекомендую в этом изображении
отобразить Ваш логотип и ссылку на Ваш сайт.
|
Это вообще эффективно и не навредит поисковикам в индексации картинок?
2 - Защищаем сайт
Данный код позволяет защитить сайт от scripts
enjection и нежелательных модификаций _REQUEST и/или
GLOBALS
#Включаем отслеживание сим-ссылок
Options +FollowSymLinks
#Запускаем url_rewriting
RewriteEngine On
#Блокируем все ссылки, содержащие <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#Блокируем все скрипты, которые пытаются изменить переменные PHP Globals:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#Блокируем все скрипты, которые пытаются изменить переменную _REQUEST:
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
#Перенаправляем все подобные на страницу с ошибкой 403 - запрещено
RewriteRule ^(.*)$ index.php [F,L]
|
Не совсем понятно, может данная защита стоит на уровне апача? Пока у админа не спрашивал, хочется прежде у Вас спросить.
3 - Сжимаем элементы с помощью mod_deflate
В качестве альтернативы компрессии файлов с помощью
Gzip, вы можете использовать mod_deflate (предположительно
работает быстрее). Разместите следующий код в начале вашего
файла .htaccess (также вы можете добавить .jpg|.gif|.png|.tiff|.ico):
#Сжимаем элементы с помощью mod_deflate
<ifmodule mod_deflate.c="">
<filesmatch .(js|css)$="">
SetOutputFilter DEFLATE
</filesmatch>
</ifmodule>
|
Эффективен метод, кроссбраузерен? Мне допустим нужно сжимать картинки, скрипты, цсс файлы ну и хтмл странички.
Спасибо. | |
|
|
|
|
|
|
|
для: TetRiska
(13.09.2011 в 10:59)
| | 1. Картинки в индекс не попадут... в этом ничего страшного нет, так как важен текст, но кроме этого отвалятся изображения у примерно 10% ваших посетителей. HTTP_REFERER - формируется клиентом, может формироваться, а может отсекаться файерволом или браузером. Я бы такой штукой пользовался бы только при жесткой необходимости.
2. Нет, скорее всего это предлагается самостоятельно прописать в .htaccess. В любом случае защиту от этого лучше осуществлять на уровне скриптов, а не на уровне Apache. Только если имеете дело с чужими скриптами, в надежности которых вы не уверены.
3. Если честно не знаю.
PS Под новые вопросы, лучше заводить новые темы. | |
|
|
|
|
|
|
|
для: cheops
(13.09.2011 в 11:31)
| | Спасибо за ответы, но как быть насчет еррордокумент / ? нужно переадресовать на главную | |
|
|
|