Какая строчка в .htaccess вызывает ошибку 403?

AR
На сайте с 01.04.2012
Offline
78
3873

Пришло письмо от хостера reg.ru: "...есть проблема с разадресацией сайта: " Убедитесь в корректности deny правил в файле .htaccess и пришлите результаты исполнения команды nslookup до Вашего сайта с этих IP адресов.
Он не открывается еще с нескольких айпи-адресов.
Не могли бы Вы прислать нам файл .htaccess сайта, чтобы мы посмотрели, в чем там дело?"
" - Как говорится с фигли это они, не пойму=))

Главное до сегодняшнего дня никогда подобную неоткрываемость сайта не замечал... Вот сам код моего .htaccess, извиняюсь туда периодически чего-то добавлял, уже сам не помню значение некоторых строк:o

AddDefaultCharset utf-8

php_flag display_errors off
php_value error_reporting 0



Options +FollowSymLinks
Options -Indexes
#Options -ExecCGI
Options -Includes

<FilesMatch ".htaccess">
Order allow,deny
Deny from all
</FilesMatch>

<FilesMatch "configuration.php">
Order allow,deny
Deny from all
</FilesMatch>

<Limit GET POST>
order allow,deny
deny from 213.171.204.130
allow from all
</Limit>



Order allow,deny
Deny from 213.171.204.130
Allow from all

SetEnvIf REMOTE_ADDR 213.171.204.130 REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ http://yannsdsdsr.com


FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault «access plus 1 year»
</filesmatch>
</ifmodule>



<Files ~ «.(js|css)$»>
order allow,deny
allow from all
</Files>



##### Start ?tp=1 prevention######
RewriteCond %{QUERY_STRING} tp=(.*)
RewriteRule ^(.*)$ index.php [F,L]
##### End ?tp=1 prevention ######




RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.mysite.ru$ [NC]
RewriteRule ^(.*)$ http://mysite.ru/$1 [R=301,L]

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

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /glavnaya\.html\ HTTP/
RewriteRule ^glavnaya\.html$ http://mysite.ru/ [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://mysite.ru/ [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://mysite.ru/ [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /glavnaya\ HTTP/
RewriteRule ^glavnaya\$ http://mysite.ru/ [R=301,L]

Redirect 301 /glavnaya http://mysite.ru/
Redirect 301 /glavnaya.php http://mysite.ru/
Redirect 301 /glavnaya.htm http://mysite.ru/
Redirect 301 /index.htm http://mysite.ru/
Redirect 301 /jea http://mysite.ru/



#Блокируем все ссылки, содержащие <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]


########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root)

# RewriteBase /


########## Begin - Joomla! core SEF Section
############# Use this section if using ONLY Joomla! core SEF
## ALL (RewriteCond) lines in this section are only required if you actually
## have directories named 'content' or 'component' on your server
## If you do not have directories with these names, comment them out.
#
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
#RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
#RewriteRule ^(content/|component/) index.php
#
########## End - Joomla! core SEF Section


########## Begin - 3rd Party SEF Section
############# Use this section if you are using a 3rd party (Non Joomla! core) SEF extension - e.g. OpenSEF, 404_SEF, 404SEFx, SEF Advance, etc
#
RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php
#
########## End - 3rd Party SEF Section



# 5G:[QUERY STRINGS]

RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (environ|localhost|mosconfig|scanner) [NC,OR]
RewriteCond %{QUERY_STRING} (menu|mod|path|tag)\=\.?/? [NC,OR]
RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
RewriteCond %{QUERY_STRING} echo.*kae [NC,OR]
RewriteCond %{QUERY_STRING} etc/passwd [NC,OR]
RewriteCond %{QUERY_STRING} \=\\%27$ [NC,OR]
RewriteCond %{QUERY_STRING} \=\\\'$ [NC,OR]
RewriteCond %{QUERY_STRING} \.\./ [NC,OR]
RewriteCond %{QUERY_STRING} \: [NC,OR]
RewriteCond %{QUERY_STRING} \[ [NC,OR]
RewriteCond %{QUERY_STRING} \] [NC]
RewriteRule .* — [F]

# 5G:[USER AGENTS]

SetEnvIfNoCase User-Agent ^$ keep_out
SetEnvIfNoCase User-Agent (casper|cmsworldmap|diavol|dotbot) keep_out
SetEnvIfNoCase User-Agent (flicky|ia_archiver|jakarta|kmccrew) keep_out
SetEnvIfNoCase User-Agent (libwww|planetwork|pycurl|skygrid) keep_out
Order Allow,Deny
Allow from all
Deny from env=keep_out

# 5G:[REQUEST STRINGS]

RedirectMatch 403 (https?|ftp|php)\://
RedirectMatch 403 /(cgi|https?|ima|ucp)/
RedirectMatch 403 (\=\\\'|\=\\%27|/\\\'/?|\)\.css\()$
RedirectMatch 403 (\,|//|\)\+|/\,/|\{0\}|\(/\(|\.\.\.|\+\+\+|\|)
RedirectMatch 403 \.(cgi|asp|aspx|cfg|dll|exe|jsp|mdb|sql|ini|rar)$
RedirectMatch 403 /(contac|fpw|install|pingserver|register)\.php
RedirectMatch 403 (base64|crossdomain|localhost|wwwroot)
RedirectMatch 403 (eval\(|\_vti\_|\(null\)|echo.*kae)
RedirectMatch 403 \.well\-known/host\-meta
RedirectMatch 403 /function\.array\-rand
RedirectMatch 403 \)\;\$\(this\)\.html\(
RedirectMatch 403 proc/self/environ
RedirectMatch 403 msnbot\.htm\)\.\_
RedirectMatch 403 /ref\.outcontrol
RedirectMatch 403 com\_cropimage
RedirectMatch 403 indonesia\.htm
RedirectMatch 403 \{\$itemURL\}
RedirectMatch 403 function\(\)
RedirectMatch 403 labels\.rdf



RewriteEngine on
RewriteCond %{HTTP:VIA} !^$ [OR]
RewriteCond %{HTTP:FORWARDED} !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA} !^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR} !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP} !^$
RewriteRule ^(.*)$ — [F]
Laibm
На сайте с 01.06.2012
Offline
13
#1

RewriteRule ^/$ http://yannsdsdsr.com

AR
На сайте с 01.04.2012
Offline
78
#2
Laibm:
RewriteRule ^/$ http://yannsdsdsr.com

Какая-то абракадабра в урл... подправлю, но на какой. Это участок с перенаправленним стоит непонятного бота 213.171.204.130, который в одно время "задёргивал сайт" своими визитами во все возможные урл, особенно в админ-панель сайта. Помню, ничем ему не мог запретить доступ. Правильный ли этот способ:

SetEnvIf REMOTE_ADDR 213.171.204.130 REDIR="redir"
RewriteCond %{REDIR} redir
RewriteRule ^/$ http://yandex.com
P
На сайте с 24.12.2010
Offline
46
#3

And-rey, все что угодно, что идет после строки # 5G:[QUERY STRINGS], например, отсутствие UA или упоминание в нем libwww и т.д.

M2
На сайте с 11.01.2011
Offline
341
#4

<filesmatch ".(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault «access plus 1 year»
</filesmatch>

Насколько я знаю, должно быть так:


<filesmatch "\.(jpg|gif|png|css|js)$">
------------------- Крутые VPS и дедики. Качество по разумной цене ( http://cp.inferno.name/view.php?product=1212&gid=1 ) VPS25OFF - скидка 25% на первый платеж по ссылке выше
AR
На сайте с 01.04.2012
Offline
78
#5

Postfix, я только сегодня нашёл в своих черновиках, что это у меня идёт такое массовое после строк ########## End - 3rd Party SEF Section...

Вот эти ряд конструкций после каждого "# 5G:" - это своего рода фаерволл для сайта, который отсекает всевозможные варианты по взлому. Статьи, подробно описывающей каждой комбинации нет, взято из форума одного.

Видать тогда лучше убрать данную примочку к .htaccess

mark2011, благодарю за поправку!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий