Как запретить создание файлов в папке сервера

Обновлено: 04.07.2024

Файл .htaccess позволяет изменять некоторые настройки веб-сервера Apache (например, перенаправление) и опции PHP для сайта, поддомена или вложенной директории без изменения конфигурационного файла Apache или php.ini. Директивы, указанные в файле .htaccess, распространяются на саму директорию, в которой находится .htaccess, и на все вложенные, в том числе и на поддомены.

Как правило, файл .htaccess создается в корневой директории сайта или в тех, которые требуют специфического поведения веб-сервера (запрет отображения списка файлов, обработка статических файлов, авторизация и прочее). Если файл .htaccess отсутствует в корне сайта, создайте его через Файловый менеджер Панели управления или загрузите с локального компьютера при помощи FTP-клиента.

При редактировании файла .htaccess будьте предельно внимательны: неверно указанные директивы и посторонние символы могут привести к внутренней ошибке сервера (500 Internal Server Error).

Настройки веб-сервера Apache

Перенаправление

Redirect 302 /blog /new-blog/index.php

Простые правила перенаправления вы можете создавать автоматически при помощи раздела «Перенаправления» в Панели управления хостингом при переходе к управлению сайтом. Более сложные правила (с условиями и дополнительными параметрами) составляются при помощи модуля Apache mod_rewrite. Использование этого модуля позволяет решить широкий спектр задач, примеры некоторых мы рассмотрим ниже.

Перенаправление на определенное имя сайта (с или без www)

Если у вашего сайта несколько имен, но вы хотите, чтобы пользователи всегда видели в адресной строке определенное имя сайта (в данном примере это www), добавьте в файл .htaccess в корне вашего сайта следующие строки:

Избавиться от дублей страниц

Добавить слеш ко всем страницам сайта можно при помощи правила:

Чтобы наоборот убрать слеш в конце ссылок на страницы сайта, внесите в файл .htaccess следующие директивы:

RewriteEngine on
RewriteBase /
RewriteCond % /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]

В эти правила можно добавить исключение для конкретной директории, чтобы на нее правило перенаправления не действовало — например, если это обусловлено особенностями CMS сайта:

Добавьте эту строку в середину правила (под остальными RewriteCond) и измените имя директории из примера.

Сделать собственную страницу с ошибкой (ErrorDocument)

ErrorDocument 404 /error404.html

Закрыть сайт от посетителей

Временно закрыть сайт бывает нужно, например, во время обновления внешнего вида сайта. Подробно способы закрытия сайта средствами .htaccess мы разобрали в статье нашего блога. Рассмотрим наиболее популярные способы блокировки доступа ниже.

Запретить доступ по IP-адресу

Простая директива, в которой указываются списки IP-адресов доступа и запрет для остальных, выглядит так:

<RequireAll>
Require ip X.X.X.X
</RequireAll>

Вместо X.X.X.X укажите ваш IP-адрес (проверить его можно, например, здесь). Обращения с других IP-адресов завершатся ошибкой 403 Forbidden.

Если ваш интернет-провайдер выдаёт IP-адрес из какого-то диапазона, и его последние цифры могут меняться, IP-адрес можно указать не полностью или сразу с подсетью или все эти варианты сразу, через пробел:

<RequireAll>
Require ip X1.X1.X1.X1 X2.X2 X3.X3.X3.X3/24
</RequireAll>

Аналогичным вариантом будет:

order deny,allow
deny from all
allow from X.X.X.X

Однако, этот вариант уже признан устаревшим, хоть ещё иногда встречается.

Запретить доступ по User-Agent

Этот метод обычно требуется в случае, если доступ к сайту нужно запретить для роботов или программ, имеющих динамические IP-адреса. Подробно о User-Agent мы рассказали в статье нашего блога.

Для блокировки достаточно в начало файла .htaccess добавить директивы:

SetEnvIfNoCase User-Agent example1 bad_bot
SetEnvIfNoCase User-Agent example2 bad_bot
<RequireAll>
Require all granted
Require not env bad_bot
</RequireAll>

Вместо example1 и example2 укажите User-agent роботов или программ, доступ для которых требуется запретить.

Этот вариант самый предпочтительный, поскольку в bad_bot можно добавить сколько угодно User-Agent и заблокировать их одним небольшим правилом

Альтернативным вариантом будет:

<RequireAll>
Require all granted
Require expr % !

Правило ?i: делает регулярное выражение нечувствительным к регистру.

Такой вариант подойдёт, если нужно сделать особое правило блокировки на основе регулярных выражений.

Помимо % можно использовать и другие стандартные переменные сервера. Список других переменных и примеров регулярных выражений есть в официальной документации Apache.

Ещё один альтернативный вариант блокировки роботов:

RewriteEngine on
RewriteCond % “(example1|example2)” [NC]
RewriteRule .* - [F]

Этот вариант в свою очередь является одним из самых распространённых и тоже позволяет использовать регулярные выражения. Другие примеры можно найти в официальной документации Apache.

RewriteEngine on
RewriteCond % !^X.X.X.X$
RewriteCond % !^site-closed.html
RewriteRule ^.*$ site-closed.html

Поддомен открывается с ошибкой Internal Server Error (частный случай)

Для поддомена наследуются настройки .htaccess домена. Если в настройках .htaccess домена используются правила mod_rewrite, они могут приводить к некорректной работе поддомена. Добавьте в начало файла .htaccess поддомена следующую директиву:

Это правило отключит mod_rewrite для вложенной директории поддомена.

Установка индексного файла (DirectoryIndex)

При открытии директории без указания конкретного файла веб-сервер ищет индексные файлы index.html, index.php в порядке приоритета для отображения. Если индексные файлы отсутствуют, сервер возвращает ошибку 403 Forbidden, так как отображение списка файлов (листинг директорий) по умолчанию запрещено.

Чтобы установить в качестве индексного файла произвольный файл, следует добавить инструкцию:

Например, следующая инструкция предписывает веб-серверу при обращении к сайту открывать не страницу, а изображение example.jpg в папке pics сайта:

Настройки веб-серверов в Панели управления

В настройках базового веб-сервера вы можете изменять все директивы PHP, значение графы Changeable для которых соответствует PHP_INI_PERDIR или PHP_INI_ALL. Эти настройки будут иметь силу на всех сайтах, которые работают на этом веб-сервере.

Управлять абсолютно всеми параметрами PHP вы можете на расширенном веб-сервере, редактируя php.ini через его настройки.

Чтобы установить индивидуальные параметры PHP для отдельного сайта, используйте файл .htaccess. Через него можно управлять всеми параметрами, доступными для изменения на базовом веб-сервере – примеры самых востребованных перечислены ниже.

Отображать ошибки PHP (display_errors)

По умолчанию отображение ошибок PHP на хостинге отключено. Для того чтобы видеть текст ошибок PHP на странице сайта, добавьте в файл .htaccess директиву:

php_value display_errors 1

Включить журнал ошибок PHP (error_log)

Для того чтобы сохранять, изучать и исправлять ошибки включите их сбор и хранение с помощью следующих строк:

Директория в пути расположения файла должна существовать, а если ее нет — обязательно создайте папку вручную. Файл журнала будет создан при появлении первой ошибки.

Увеличить оперативную память для скриптов (memory_limit)

Для изменения ограничения на оперативную память для выполнения процесса используйте следующую директиву в .htaccess:

php_value memory_limit 512M

Вместо 512M укажите желаемый размер ограничения. Обратите внимание, что символ "M" (латинская M) указывается слитно со значением. Уточнить максимальное значение оперативной памяти, доступное по тарифу, можно в документе.

Увеличить время выполнения скриптов (max_execution_time)

Чтобы увеличить время выполнения скриптов (в секундах), добавьте следующую директиву в .htaccess:

php_value max_execution_time 300

Вместо 300 укажите желаемый размер ограничения. Обратите внимание, что выполнение скрипта более чем в 10 минут (600 секунд) завершится ошибкой с кодом 504.

Изменить объем загружаемого файла (post_max_size и upload_max_filesize)

По умолчанию через сайт можно загрузить файл объемом не более 1Гб. Чаще этот размер даже меньше — 100Мб, из-за ограничения на объем запроса методом POST.

Если вам нужно загружать файлы бóльшего размера, либо же ограничить их объем (чтобы контролировать дисковую квоту), то управлять объемом загружаемого файла можно через .htaccess:

php_value post_max_size 200M
php_value upload_max_filesize 200M

Вместо 200M укажите желаемый размер ограничения. Обратите внимание, что символ "M" (заглавная латинская M) указывается слитно со значением.

Передавать максимум переменных в PHP (max_input_vars)

Максимальный размер передаваемых переменных определяется с помощью следующей директивы:

php_value max_input_vars 15000

Вместо 15000 укажите необходимый размер ограничения, который требует CMS сайта.

Если страница в браузере загружается некорректно и вместо привычных символов на сайте отображаются иероглифы, добавьте в файл .htaccess строки:

AddDefaultCharset "windows-1251"
php_value default_charset "windows-1251"

Вместо "windows-1251" подставьте подходящую кодировку, например, UTF-8. Проверить, в какой именно кодировке написан сайт, можно через инструменты используемого браузера. Если сайт не обрел корректный вид, обратитесь за помощью в службу технической поддержки.

Обрабатывать интерпретатором PHP не только файлы .php (AddType)

Чтобы заставить интерпретатор PHP обрабатывать файлы с произвольным расширением, (например, .phtml), добавьте в файл .htaccess следующую строку:

Изменить время хранения сессий PHP

Изменение времени хранения сессий может потребоваться, если вы хотите, чтобы данные об авторизации пользователей на вашем сайте сохранялись дольше.

По умолчанию время хранения сессий — 1440 секунд (24 минуты). Для изменения этого значения добавьте в .htaccess следующие директивы:

Обратите внимание: при большом количестве посетителей и длительном времени сохранения сессий в папке, указанной в session.save_path, образуется большое количество файлов. Это может вызывать замедление сайта в момент очистки старых сессий и увеличивать количество потребляемых ресурсов. Альтернативные механизмы хранения и очистки сессий:

  1. Указывать вложенность директорий хранения сессий с помощью аргумента N в session.save_path и очищать старые сессии собственными скриптами (описание session.save_path в документации PHP).
  2. Реализовать собственный механизм хранения сессий (например, в MySQL) и установить его с помощью функции session_set_save_handler.

Другие настройки (CGI, Python, Node.js)

Включить SSI

Директивы SSI (Server Side Includes) по умолчанию обрабатываются в файлах с расширением .shtml (например, index.shtml). Чтобы SSI обрабатывались и в других файлах, необходимо в файле .htaccess указать типы этих файлов:

AddType text/html .html .ssi
AddOutputFilter INCLUDES .html .ssi

Вместо ".ssi .html" укажите расширения файлов, в которых должны обрабатываться директивы SSI. Использовать в одном и том же файле PHP и SSI одновременно не рекомендуется.

Выполнять скрипты CGI/Perl

Чтобы CGI/Perl-скрипты выполнялись в браузере, необходимо создать файл .htaccess и добавить в него строки:

Options +ExecCGI
AddHandler cgi-script .cgi .pl
SetEnv PERL5LIB /home/login/perl5:/home/login/perl5/lib/perl5:/usr/local/lib/perl5
SetEnv LD_LIBRARY_PATH /home/login/perl5/lib

Вместо ".cgi .pl" укажите список расширений, которые должны обрабатываться веб-сервером. Убедитесь, что у вас есть права на исполнение этих скриптов (например, 755). А в переменных PERL5LIB и LD_LIBRARY_PATH, которые указывают веб-серверу, откуда подгружать модули Perl, вместо login вставьте свой логин.

Включить uWSGI (Python)

Проектам на языке Python необходим файл .htaccess с таким содержанием:

DirectoryIndex site.wsgi
Options +ExecCGI
AddHandler wsgi-script .wsgi
RewriteEngine On
RewriteCond % !-f
RewriteCond % !-d
RewriteRule ^(.*)$ /site.wsgi/$1 [QSA,PT,L]

Вместо site.wsgi укажите входной файл вашего приложения.

Включить Node.js c помощью приложения Passenger

Чтобы обрабатывать скрипты Node.js, укажите в .htaccess следующие директивы:

У меня остались еще вопросы!

Если вы не нашли ответа на свой вопрос в этом разделе, то вы всегда можете обратиться к нам за помощью через форму обратной связи в разделе «Поддержка» Панели управления.

Файл .htaccess (Hypertext Access) это файл настройки Apache-сервера. В Сети довольно много статей по настройке .htaccess. Этому даже посвящены целые сайты. Однако, когда я приступал к изучению мануалов по настройке файла .htaccess, я мало что понял, уж очень запутано пишут. К тому же вопросам безопасности сайта уделяется мало внимания.

hypertext access

Создаем .htaccess

root

.htaccess — это обычный текстовый файл, правда с необычным расширением. На хостингах, с которыми я работал, есть возможность создавать и управлять файлом .htaccess прямо из панели управления сайтом. Если же на вашем хостинге такой поддержки нет, вам следует создать текстовый файл с расширением .htaccess у себя на компьютере (например в блокноте) и через FTP-соединение загрузить его в корневую директорию. Действие файла-конфигуратора распространяется на все вложенные директории. Чтобы изменить настройки для определенной директории (например, admin) следует разместить там другой файл .htaccess с новыми настройками.

Первое, что необходимо сделать, это включить перенаправления на основной домен сайта, то есть определиться с доступом к сайту с www или без, а также убрать все index.php. Это нужно для правильной индексации сайта, ведь без этого ваш сайт будет доступен по четырем адресам:

redirect301

Прячем расширения файлов

Для того, чтобы усложнить процессы нахождения уязвимостей ваших скриптов (а они есть всегда) следует прятать расширения или изменять их на другие, с целью запутать атакующего. Это позволяет сразу же отсечь множество мелких вредителей и увеличить безопасность сайта.

Но это не всегда удобно. Ведь если у мы передаем GET-параметры в URL, запрос будет выглядеть так:

Для этого необходимо изменить всю строку запроса, чтобы не выделять параметры так очевидно. Это называется Человеко-Понятный URL (ЧПУ).

Прячем GET-параметры в ЧПУ

В любой CMS вы можете это сделать в панели администрирования, но если вы не пользуетесь системами управления контентом и делаете все своими руками, как я, писать ЧПУ придется через .htaccess.

Допустим у нас есть catalog.php. В него мы передаем title и year. В нашем случае ссылка выглядит так:

А нам надо преобразовать URL к следующему виду:

Теперь, введите в адресную строку браузера catalog/2011/example.cgi и вы попадеете на catalog.php?year=2011&title=example (чтобы увидеть редирект поставьте [R]). После таких преобразований все ваши ссылки на сайте должны быть приведены к такому виду. Надеюсь пример понятен, а если нет, то пишите комментарии, разберемся.

Управляем выводом ошибок

Отображение ошибок безусловно полезная вещь при отладке приложения. Однако после отладки директивы error_reporting и display_errors следует отключать, потому что атакующий может узнать из них важную информацию о работе скрипта.

Запрещаем доступ к определенным файлам

Чтобы файл, в котором содержится реквизиты доступа к базе данных или файл с паролями, не был прочитан, нужно запретить к нему доступ.

Запрет доступа к директории

Для запрета доступа к целой директории необходимо создать в ней файл .htaccess со следующим содержанием:

Иногда нужно запретить доступ к директории всем кроме определенных ip-адресов. Это можно сделать для защиты административной части сайта.

Аутентификация пользователя

Для защиты административной части сайта следует использовать базовую аутентификацию. Это также можно сделать из панели управления сайтом на хостинге.

Файл .htpasswd содержит имена пользователей и хеш пароля. Он создается с помощью утилиты htpasswd.exe и располагается в корневой директории. Теперь, при доступе к защищенной директории пользователь увидит:

basic authentication


Обратите внимание на предупреждение, что пароль будет передаваться в незашифрованном виде. Это значит, что при определенных обстоятельствах он может быть перехвачен. Не используйте данный вид аутентификации для защиты чрезвычайно важных данных.

Защита файлов от скачивания (hotlink)

Можно ли с помощью инструкции в .htaccess запретить создание файлов на сайте?
Ребят подскажите пж можно ли с помощью инструкции в файле .htaccess запретить создание на сайте.

С помощью какой команды можно запретить конкретному пользователю все виды доступа к общей папке?
Как запретить конкретному Пользователю все разрешения доступа к папке? net share file=&quot;c:\file&quot;.


Какие API лучше использовать для привязки к конкретному процессу?
Хотел бы спросить, какие API лучше использовать для привязки к конкретному процессу? К примеру.

kolhara: Можно ли запретить создание файлов конкретному процессу? kolhara: существует ли возможность привязки запуска скрипта к такому событию, как создание конкретного файла в определённой папке? Про событие не знаю, но как вариант - написанный скрипт(или программа) будет например, каждые 3 минуты проверять у вас на рабочем столе наличие определенного файла, и если он там - то , если нет - то

Скриптом не знаю как реализовать периодичность, разве что закинуть в планировщик заданий. На visual basic это делает таймер. Программа висит у вас в процессах и каждую секунду проверяет, есть ли такой файл у вас на рабочем столе - если есть - удаляет, если нету - висит дальше. Чтобы выйти нужно вызвать диспетчер задач и удалить процесс DelFile.exe.

Если хотите, чтобы программа запускалась автоматически - просто создайте ярлык к программе DelFile.exe в папку Автозагрузка в меню Пуск--Программы.

Если хотите, чтобы при запуске программы ее не было видно - раскоментируйте две строчки в событии Form_Load() в коде и перекомпилируйте exe-файл

CyberБурундукЪ,
Последний раз редактировалось CyberБурундукЪ; Вчера в 21:07.

PS
Использую Mozilla Firefox 3.0, java, java-scrip включены. Windows XP SP3.

Если отталкиваться не от "сделать как надо" а от "сделать как-нибудь, лишь бы не было ярлыков" то можно создать скрытые папки с таким же именем как ярлык "calc.lnk" (с расширением!)
Папки видны не будут, а файлы нельзя создавать с таким же именем как папка и перезаписать папку файлом тоже нельзя (имеется ввиду команда создать файл с перезаписью). Если отталкиваться не от "сделать как надо" а от "сделать как-нибудь, лишь бы не было ярлыков" то можно создать скрытые папки с таким же именем как ярлык "calc.lnk" (с расширением!)
Папки видны не будут, а файлы нельзя создавать с таким же именем как папка и перезаписать папку файлом тоже нельзя (имеется ввиду команда создать файл с перезаписью). Если известны имена ярлыков, то не проще ли запускать после их навязчивого появления скрипт?
Можно конечно организовать и периодичность добавив Wscript.sleep(5000) и заключить всё это в бесконечный цикл, но у меня такая конструкция давала сбои по времени (не вовремя выполнялась инструкция) на XP SP2, хоть и редко, на SP3 не тестила. Если отталкиваться не от "сделать как надо" а от "сделать как-нибудь, лишь бы не было ярлыков" то можно создать скрытые папки с таким же именем как ярлык "calc.lnk" (с расширением!)
Папки видны не будут, а файлы нельзя создавать с таким же именем как папка и перезаписать папку файлом тоже нельзя (имеется ввиду команда создать файл с перезаписью).

Такой вариант рассматривался. Но оч не хочется иметь на рабочем столе лишний хлам, в том числе и папки (отображение скрытых папок у меня включено). И на раб. столе включено автоматическое упорядочивание значков (удобно), т. е. за пределы раб. стола ничего не спрячешь.

В любом случае спасибо!

Добавлено через 2 минуты

Если известны имена ярлыков, то не проще ли запускать после их навязчивого появления скрипт?
Можно конечно организовать и периодичность добавив Wscript.sleep(5000) и заключить всё это в бесконечный цикл, но у меня такая конструкция давала сбои по времени (не вовремя выполнялась инструкция) на XP SP2, хоть и редко, на SP3 не тестила. а если создать скрипт и запускать программу через него. этот же скрипт, с выдержкой времени, скажем, 30 сек будет удалять ярлыки. не придется постоянно крутить код.
если трудности с кодом на VBS (у него функционал ограничен), посмотрите в сторону Autoit

А я как буду пользоваться рабочим столом? :

Добавлено через 1 минуту

а если создать скрипт и запускать программу через него. этот же скрипт, с выдержкой времени, скажем, 30 сек будет удалять ярлыки. не придется постоянно крутить код.
если трудности с кодом на VBS (у него функционал ограничен), посмотрите в сторону Autoit

Ага. Классно! Уже работаю.

Добавлено через 1 минуту
Только не знаю, как лучше реализовать: BAT или VBS. Может кто подскажет?

Добавлено через 3 часа 2 минуты
Всё работает! Получилось!
Из небольшого скрипта происходит запуск самого приложения и через паузу в заданное количество миллисекунд происходит удаление ненужных файлов.
Всем огромное спасибо за помощь и участие!

а если попробовать просмотреть ветку реестра этого приложения (или ini файлы) и там отменить создание ярлыков , или хотя бы изменить их локацию? а если попробовать просмотреть ветку реестра этого приложения (или ini файлы) и там отменить создание ярлыков , или хотя бы изменить их локацию?

у меня комп. класс
т.е. можно использовать этот код
чтобы сделать скрипт, который бы перемещал всякие лишние
файлы с раб. стола в папку C:\User

(чтобы юзеры не захламляли чем попало рабочий стол, e.g. файлы .doc, .xls и пр.)

Добавлено через 4 минуты
Очень интересно

у меня комп. класс
т.е. можно использовать этот код
чтобы сделать скрипт, который бы перемещал всякие лишние
файлы с раб. стола в папку C:\User

(чтобы юзеры не захламляли чем попало рабочий стол, e.g. файлы .doc, .xls и пр.)

Добавлено через 52 минуты
Еще интересвует:

шаловливые юзеры очень любят менять всевозможные атрибуты, мишуру
и оформления - например, в Сервис->Свойства папки->Общие и ->Вид
- насколько я понимаю в самой OC (Windows XP Prof. SP2)
предусмотрены значения "по умолчанию"

как написать такой скрипт, чтобы он, не мудрствуя лукаво, сам возвращал эти самые "умолчания"
при каждом новом входе User'a в систему (или презагрузке)?

насколько я понимаю, должна существовать определенная ветка реестра, отвечающая за default'ы для этой записи User'a ?

Набирая адрес в строке браузера, вы получаете на свой компьютер файлы, которые отображает браузер. Управление тем, какие файлы и как вам показывать (пересылать) осуществляет веб-сервер. Наиболее популярных серверов два: IIS и Apache.

Структура ваших директорий на сервере такая:

Директории user1 и user2 будут вложенными по отношению к директории user. Если мы поместим в директорию www файл .htaccess, то его действие будет автоматически распространяться и на директории user1 и user2.

В директорию data помещаем другой файл .htaccess, по-сравнению, с тем, что находится в директории user. И для директорий data1 и data2 будет действовать файл .htacсess, находящийся в data.

Статья по теме: Особенность украинского хостинг-провайдера СитиХост

Теперь, в директорию user2 мы помещаем еще один файл .htaccess, который отличен от того, что находится в директории 2мя уровнями выше (это директория user). В итоге, настройки для директории user2 будут определяться только тем файлом .htaccess, который находится в этой директории.

Так как чаще всего Апач настроен так, что всегда ищет этот файл в директории, то .htaccess поможет вам быстро и без останова сервера произвести его перенастройку.

Синтаксис .htaccess

Вот обязательной синтаксис, несоблюдение которого приводит к ошибкам сервера:

Файл имеет название именно «точка» htaccess

Управление доступом с помощью .htaccess

Как запретить веб-посетителям читать файлы в директории

Запрет на все файлы:

Разрешить доступ с определенного ip

Запретить доступ с определенного ip

Определяет доступ к файлу по его расширению

Например запрет на доступ к файлам с расширениям "inc" для веб-посетителей:

В данном примере сам веб-сервер Апач может обращаться к файлам с таким расширениям.

Запрет на конкретный файл

Можно поставить запрет на конкретный файл по его названию и расширению.

В данном примере стоит запрет на обращения к файлу config.inc.php.

Пароль на директорию

Значение AuthName будет выводиться для посетителя и может использоваться для пояснения запроса авторизации. Значение AuthUserFile указывает на место, где хранится файл с паролями для доступа к данной директории. Этот файл создается специальной утилитой htpasswd.exe.

Например в директории, которую защищаем паролем создаем такой .htaccess:

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

Аналогично паролированию директории полностью, можно ставить пароль только на 1 файл.
Пример установки пароля на файл private.zip:

AuthName "Users zone"
AuthType Basic
AuthUserFile /pub/home/твой_логин/.htpasswd
</Files>

Пароль на группу файлов

Аналогично, используя <Files ".(inc|sql|. другие расширения. )$">, можно ставить пароли по маске файлов.
Пример установки пароля на доступ ко всем файла с расширением "sql":

Проверка прав доступа

Задача: есть каталог a1 и в нем два вложенных каталога a2, a3, введено 2 уровня пользователей. 1 группа имеет доступ только к a1 и a2, 2-я ко всем трем каталогам. Необходимо проводить аутентификацию только 1 раз - при доступе к a1, но при этом соблюдать права на доступ к а2 и а3.
Ник и пароль запрашиваются только при входе на а1 - если у юзвера есть доступ на а2 пароль уже не запрашивается. Если на а3 доступа нет, вылетит табличка "введите пароль".

a1 - общий и вместе с тем закрытый. а2 и а3 только для отдельных личностей.

файл .htaccess для каталога а1:

файл .htaccess для каталога а2:

файл .htaccess для каталога а3:

Как сделать перенаправление (редирект) посетителя

Показ разных страниц, в зависимости от IP адреса посетителя

RewriteCond % redir
RewriteRule ^/$ /another_page.html
Например, перенаправление посетителей с ip адресом 192.12.131.1 на страницу about_my_sity.html:

Перенаправление посетителя при запросе определенных страниц

Это уже для всех сетевых вирусов и сканеров. Теперь любой запрос с адресом /_vti_bin будет автоматически перенаправляться на Microsoft:

Как сделать стартовой другую страницу

Что бы поменять страницу, которая будет показываться при обращении к директории, пишем:

Можно указывать несколько страниц.

Как заставить Апач обрабатывать SSI директивы

После, в файле .htaccess пишем:

Как заставить Апач выполнять в html документах php код

При большой посещаемости сервера может вызвать тормоза. Спрашивайте у админа.

Как самому обрабатывать ошибки Апача

Наиболее интересные и полезные ошибки Апача это: 403-404, 500.

При этом при возникновении 404 ошибки пользователю загрузится файл errors/403.html.

Удобно делать собственный обработчик на некоторые ошибки. В .htaccess пишем:

В Internet Explorer 5.0 неправильно обрабатывается файл, вызывающийся при ошибке, если его размер меньше 1 килобайта. Будет вызвана стандартная страница IE 404.

Как поставить запрет на отображение содержимого директории при отсутствии индексного файла

Предположим, что у вас вся графика, используемая на сайте находится в директории img. Посетитель может набрать в адресной строке браузера эту директорию и увидеть список всех ваших графических файлов. Конечно, это не нанесет вам урона, но можно и не дать такого просмотра посетителю. В .htaccess пишем:

Можно ли указать кодировку на все файлы, в которой по умолчанию получает документы браузер

На заре интернета и зарождения браузеров, часто была ситуация, что браузер не мог автоматически определить, в какой из русских кодировок написан документ и в браузер выдавалась какая-то каша. Для избежания этого указываем, что все отдаваемые страницы будут иметь кодировку windows-1251:

Можно ли указать кодировку на загружаемые файлы

Читайте также: