Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Защищаем сайт DLE от взлома злоумышленником

Защищаем сайт DLE от взлома злоумышленником


     23.03.2014    Все вопросы » Общие вопросы    4394

вопрос
В папках в которые разрешена запись в основном это /uploads и /templates и /backup, если у вас есть другие то и в них тоже, создайте файл .htaccess с таким содержимым:

<FilesMatch «\.(php|php3|php4|php5|php6|phtml|phps)$|^$»>
Order allow,deny
Deny from all
</FilesMatch>


У меня стоит так,

<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][ Ll]|[Pp][Hh][Tt][Mm][Ll]|)\.?">
   Order allow,deny
   Deny from all
</FilesMatch>


то значит

<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][ Ll]|[Pp][Hh][Tt][Mm][Ll]|php|php3|php4|php5|php6|phtml|phps)\.?">
   Order allow,deny
   Deny from all
</FilesMatch>


верно? На ночь голова не варит))

полная инфа тут darkden.ru/zashhita-sajta-dle/?utm_source=twitterfeed&utm_medium=twitter

Ответа пока нет


13 комментариев

dj-avtosh
PHP-developer

dj-avtosh - 23 марта 2014 11:54 -

Глупые какие-то вопросы. Можно в самую верхнюю положить - и все внутренние примут права внешней.

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

feniks01
Гости

feniks01 - 23 марта 2014 12:39 -

Если глупые, тогда ответьте на вопрос.

Я верно исправил? (дополнил сзади, тут нужна была черта или нет [Ll]|php vs. [Ll]php)
<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][ Ll]|[Pp][Hh][Tt][Mm][Ll]|php|php3|php4|php5|php6|phtml|phps)\.?">
   Order allow,deny
   Deny from all
</FilesMatch>

D0Gmatist
Юзер

D0Gmatist - 23 марта 2014 12:29 -

Запрет на все файлы в каталоге:
deny from all

Доступ только с определенного IP:
order allow deny
    deny from all
    allow from $ip

Запретить доступ для определенного ip:
order allow deny
    deny from all
    deny from $ip

Разрешение или запрет на чтение по расширению.
Запрет на доступ к файлам *.inc:
<Files "\.(inc)$">
    order allow,deny
    deny from all
    </Files>
Стоит отметить, что запреты файла .htaccess будут действовать только при обращении к нужному документу через браузер пользователя.

Запрет доступа на конкретный файл:
<Files conf.inc.php>
    order allow,deny
    deny from all
    </Files>
Запрет на чтение conf.inc.php посетителями сайта не запрещает локальным приложениям сервера читать этот файл.

Установка паролей

Паролирование директории:
AuthName "Reg only"
    AuthType Basic
    AuthUserFile /pub/home/site/.htpasswd
    require valid-user
Такое значение AuthName для посетителей будет выводиться во всплывающем окне. Значение AuthUserFile указывает серверу, где хранится файл с паролями для доступа. такой файл можно создать специальной утилитой htpasswd в операционной системе linux или htpasswd.exe в ОС Windows.

Пароль только на 1 файл:

Пример установки пароля на файл file.rar:
<Files file.rar>
    AuthName "Users zone"
    AuthType Basic
    AuthUserFile /pub/home/login/.htpasswd
    require valid-user
    </Files>

Пароль на группу файлов по расширению:
<Files "\.(gif|png|...|rar)$"> А дальше как пароль на файл


Перенаправления (редиректы)
Redirect посетителей на другой сайт:
    Redirect / http://www.site.ru


Перенаправление при запросе определенных каталогов и страниц:
redirect /_vti_bin http://alterwebs.net/
    redirect /cpp http://alterwebs.net
    redirect /dpp http://alterwebs.net/read/general/list/
    RedirectMatch (.*)\cmd.exe$ http://www.microsoft.com$1


Переопределение стартовой страницы
DirectoryIndex index.html
или
DirectoryIndex index.shtm index.php3 index.php index.htm index.html


Обработка ошибок сервера

код 401 - Требуется авторизация (Authorization Required)
код 403 - Нет доступа (Forbidden)
код 404 - Не найден файл (File not found)
код 500 - Внутренняя ошибка сервера (Internal Server Error)

ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html


Выставить полный запрет на просмотр оглавления необходимой директории. То есть, если в каталоге dir/ нет файла Index.*, что бы он загружался автоматически, то при обращении пользователя к dir/, ему будет отказано в доступе и Apache выдаст ошибку 403.
Options -Indexes


Кодировка

Иногда необходимо установить кодировку по умолчанию, то есть default-кодировка. В какой кодировке сервер будет отдавать документы.
AddDefaultCharset windows-1251
AddDefaultCharset utf-8

А так же установка необходимой кодировки на файлы на сервере:
CharsetSourceEnc windows-1251
CharsetSourceEnc utf-8

dj-avtosh
PHP-developer

dj-avtosh - 23 марта 2014 12:41 -

Pp изначально подрузеумевало php.

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

feniks01
Гости

feniks01 - 23 марта 2014 12:44 -

Чтобы отпали все вопросы, сразу все версии php3|php4|php5|php6|phtml|phps?

dj-avtosh
PHP-developer

dj-avtosh - 23 марта 2014 13:06 -

<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][Ll]|[Ph][Hh][Tt][Mm][Ll])\.?">
Order allow,deny
Deny from all
Satisfy all
</FilesMatch>

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

dj-avtosh
PHP-developer

dj-avtosh - 23 марта 2014 13:07 -

А в корень я кладу такой, который только разрешает запуск index.php

<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][Ll]|[Ph][Hh][Tt][Mm][Ll])\.?">
Order allow,deny
Deny from all
Satisfy all
</FilesMatch>

<FilesMatch "^(index\.php)$">
order allow,deny
allow from all
</FilesMatch>

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

feniks01
Гости

feniks01 - 23 марта 2014 13:13 -

Тут ничего конфликтовать не будет? Я кинул прям в корень сайта.

<FilesMatch "\.([Pp][Hh][Pp]|[Cc][Gg][Ii]|[Pp][Ll]|[Ph][Hh][Tt][Mm][Ll])\.?">
Order allow,deny
Deny from all
Satisfy all
</FilesMatch>

<FilesMatch "^(index\.php)$">
order allow,deny
allow from all
</FilesMatch>

AddType application/x-httpd-php .html .htm

<IfModule mod_expires.c>
    ExpiresActive on

    ExpiresDefault "access plus 1 month"

    # cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
    ExpiresByType text/cache-manifest "access plus 0 seconds"

    # html
    ExpiresByType text/html "access plus 0 seconds"

    # XML
    ExpiresByType text/xml "access plus 0 seconds"
    ExpiresByType application/xml "access plus 0 seconds"

    # RSS
    ExpiresByType application/rss+xml "access plus 1 hour"

    # Favicon
    ExpiresByType image/x-icon "access plus 1 week"

    # Картинки
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"

feniks01
Гости

feniks01 - 23 марта 2014 13:13 -

# HTC файлы  (например css3pie)
    ExpiresByType text/x-component "access plus 1 month"

    # Нестандартные шрифты сайта
    ExpiresByType application/x-font-ttf "access plus 1 month"
    ExpiresByType font/opentype "access plus 1 month"
    ExpiresByType application/x-font-woff "access plus 1 month"
    ExpiresByType image/svg+xml "access plus 1 month"
    ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

    # CSS и javascript
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"

</IfModule>

# Cache-Control браузера
<ifModule mod_headers.c>
    # 30 дней
    <filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=2592000, public"
    </filesMatch>
    # 30 дней
    <filesMatch "\.(css|js)$">
    Header set Cache-Control "max-age=2592000, public"
    </filesMatch>
    # 2 дня
    <filesMatch "\.(xml|txt)$">
    Header set Cache-Control "max-age=172800, public, must-revalidate"
    </filesMatch>
    # 1 день
    <filesMatch "\.(html|htm|php)$">
    Header set Cache-Control "max-age=172800, private, must-revalidate"
    </filesMatch>
</ifModule>

<IfModule mod_setenvif.c>
    #Эта конструкция для говнобраузера
    #Запрет отдачи HTTP-заголовков Vary
    BrowserMatch "MSIE" force-no-vary
    BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
</IfModule>

DirectoryIndex index.php

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.zfilm-hd\.ru$ [NC]
RewriteRule ^(.*)$ http://zfilm-hd.ru/$1 [R=301,L]

# START Редирект с первой страницы на основную
RewriteRule ^(.*)/page/1/$ $1/ [R=301,L]
RewriteRule ^(.*)page/1/$ $1/ [R=301,L]
# END Редирект с первой страницы на основную

# Редиректы
RewriteRule ^page/([0-9]+)(/?)$ index.php?cstart=$1 [L]

# Сам пост
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$2&news_page=$1&seourl=$3 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$1&newsid=$2&seourl=$3 [L]
RewriteRule ^([0-9]+)-(.*).html$ index.php?newsid=$1&seourl=$2 [L]

# За день
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]
# За весь месяц
RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L]
# Вывод за весь год
RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L]
RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]
# вывод отдельному тегу
RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]
# поиск по доп полям
RewriteRule ^xfsearch/([^/]*)(/?)+$ index.php?do=xfsearch&xf=$1 [L]
RewriteRule ^xfsearch/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=xfsearch&xf=$1&cstart=$2 [L]
# вывод для отдельного юзера
RewriteRule ^user/([^/]*)/rss.xml$ engine/rss.php?subaction=allnews&user=$1 [L]
RewriteRule ^user/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]
RewriteRule ^user/([^/]*)/page/([0-9]+)(/?)+$ index.php?subaction=userinfo&user=$1&cstart=$2 [L]
RewriteRule ^user/([^/]*)/news(/?)+$ index.php?subaction=allnews&user=$1 [L]
RewriteRule ^user/([^/]*)/news/page/([0-9]+)(/?)+$ index.php?subaction=allnews&user=$1&cstart=$2 [L]
RewriteRule ^user/([^/]*)/news/rss.xml(/?)+$ engine/rss.php?subaction=allnews&user=$1 [L]
# вывод всех последних новостей
RewriteRule ^lastnews(/?)+$ index.php?do=lastnews [L]
RewriteRule ^lastnews/page/([0-9]+)(/?)+$ index.php?do=lastnews&cstart=$1 [L]
# вывод в виде каталога
RewriteRule ^catalog/([^/]*)/rss.xml$ engine/rss.php?catalog=$1 [L]
RewriteRule ^catalog/([^/]*)(/?)+$ index.php?catalog=$1 [L]
RewriteRule ^catalog/([^/]*)/page/([0-9]+)(/?)+$ index.php?catalog=$1&cstart=$2 [L]

feniks01
Гости

feniks01 - 23 марта 2014 13:13 -

# вывод непрочитанных статей
RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]
RewriteRule ^newposts/page/([0-9]+)(/?)+$ index.php?subaction=newposts&cstart=$1 [L]
# вывод избранных статей
RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]
RewriteRule ^favorites/page/([0-9]+)(/?)+$ index.php?do=favorites&cstart=$1 [L]

RewriteRule ^rules.html$ index.php?do=rules [L]
RewriteRule ^statistics.html$ index.php?do=stats [L]
RewriteRule ^addnews.html$ index.php?do=addnews [L]
RewriteRule ^rss.xml$ engine/rss.php [L]
RewriteRule ^sitemap.xml$ uploads/sitemap.xml [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1&seourl=$2 [L]
RewriteRule ^print:([^/]+).html$ engine/print.php?do=static&page=$1&seourl=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+).html$ index.php?do=static&page=$1&seourl=$1 [L]

# Редиректы с site.ru/category/index.php на site.ru/category/ и др.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.*)index\.php$
RewriteRule ^(.*)index\.php$ $1 [R=301,L]
# Редиректы с index.php на сайт
RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

dj-avtosh
PHP-developer

dj-avtosh - 23 марта 2014 13:15 -

не будет. в этом детском перлподобном модуле апача сложно сделать ошибку.

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

feniks01
Гости

feniks01 - 23 марта 2014 13:20 -

Премного благодарен!

dj-avtosh
PHP-developer

dj-avtosh - 23 марта 2014 13:21 -

И хватит путать маски и расширения - это совсем разные вещи.

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх