.htaccess, затрудняющий взлом сайта
Создавая сайты на собственных скриптах/CMS, приходится самому же беспокоиться и о вопросах защиты наших веб-приложений.
Это относится не только к безопасности на уровне языка программирования(контроль ввода), но и на уровне настройки сервера, в чем нам поможет файлик .htaccess.
Если правильно настроить фильтры, редиректы, и рерайты, то 90% уязвимостей веб-приложения невозможно будет использовать, даже если они есть, так как это, как правило, требует изощренных манипуляций с адресной строкой, которая благополучно фильтруется на уровне сервера.
Примером подобного подхода может служить вот такой htaccess-скриптик:
<FilesMatch "."> order allow,deny deny from all </FilesMatch> <FilesMatch "(index.php|.(gif|jpe?g|png|css|js|html|zip|rar|exe|7z|bz2|gz|txt|pdf|djvu))$"> order allow,deny allow from all </FilesMatch> RewriteEngine On RewriteRule !.(gif|jpe?g|png|css|js|html|zip|rar|exe|7z|bz2|gz|txt|pdf|djvu)$ index.php
Суть его в том, что разрешены запросы ко всем файлам, перечисленным в регулярном выражении, а это index.php в корне сайта, картинки, архивы, текстовики, скрипты, html-файлы, программы, и пр.(дополняем список расшрений по мере необходимости). К остальным - запрещен. Это не позволит злоумышленнику обращаться к компонентам приложения по отдельности, минуя проверки и ограничения прав доступа, предусмотренные нормальной логикой работы приложения.
Также полезно ограничивать перечень передаваемых символов, которые будет воспринимать наш скрипт. Например, вот такой код защитит нас от sql-инжекций:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/([0-9/a-zA-Z_-.]{1,256}) index.php?q=$1 [L]
Все, что не подходит под этот критерий, будет вести вникуда, тоесть - стандартная ошибка 404, обработав которую, можно элегантно перенаправить пользователя на главную страницу, где, помимо самого сайта, будет сообщение о том, что он зашел по несуществующему адресу. В .htaccess это описывается простенькой директивой:
ErrorDocument 404 index.php?err=404Вариаций на эту тему может быть масса, и свежие идеи будут появляться всегда и везде, важно не забывать о самом принципе, и пользоваться им.
Информация по теме:
Спонсор поста:
Платный хостинг от домишко. Надежный хостинг за умеренную цену, и хороший выбор конфигураций VDS-серверов. Также компания предоставляет услуги создания и раскрутки сайтов, и техподдержки. Множество положительных отзывов о работе серверов, безопасности хостинга, и качестве обслуживания в техподдержке.
- Статьи схожей тематики:
Новый плагин для FCKeditor - scaleimages
Подключаем к FCKeditor видео с RuTube

Комментарии(15):
rss-лентаДобавлено: 2009-05-06 12:13:51, Zorg
Добавлено: 2009-05-06 22:31:18, maxx
Добавлено: 2009-05-07 23:26:48, Vladimir
Добавлено: 2009-05-07 23:59:50, Bolzamo
Добавлено: 2009-05-23 08:50:59, пацик
Добавлено: 2009-05-25 14:59:13, Артём
Добавлено: 2009-05-28 11:24:14, raider_rava
Добавлено: 2009-06-01 20:42:16, Вова
Добавлено: 2009-08-03 09:06:14, Dariy
Добавлено: 2009-08-04 14:39:46, Bolzamo
Добавлено: 2009-08-15 18:54:17, tahaco
Добавлено: 2009-08-31 14:25:56, Artemon
Добавлено: 2009-09-24 00:33:09, Mashuta
Добавлено: 2010-01-14 12:59:28, pavel
Добавлено: 2010-03-22 22:54:20, Василий