|
Как мы все знаем, Joomla основана на системе управления контентом Mambo. Из Mambo перекочевали некоторые старые, как этот мир, дыры. Закрыть их можно следующим образом. Откройте файл .htaccess, находящийся в корневом каталоге Joomla (или создайте его, если вы это еще не сделали) и добавьте следующие строки:
# Попытка модификации переменных mosConfig* через URL RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_] {1,21} (=| \%3D) [OR] # (непонятно, зачем запрещать base64_encode, тем не менее... :) RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] # Запрет передачи тэгов <script> в адресе (скорее всего защита от XSS) RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] # Старая дыра, когда пытались подменить GLOBALS через RG_EMULATION RewriteCond %{QUERY_STRING} GLOBALS(=|\[I\%[0-9A-Z]{0,2}) [OR] # Аналогичная дыра, но для _REQUEST RewriteCond %{QUERY_STRING} _REQUEST(=I\[|\%[0-9A-Z]{0,2}) # И в конце даем на такие запросы ответ 403 (aka Forbidden) RewriteRule A(.*)$ index.php [F,L] #
Если после этого ваш сайт перестал открываться, удалите эти строки. Если же сайт работает нормально, следите за нагрузкой на сервер — эти строки могут в некоторых случаях существенно увеличить нагрузку на сервер. Тогда ваш хостер может попросту отключить вас за превышение выделенных вам ресурсов. В таком случае эти строки нужно тоже удалить.
|