Мы будем Вам признательны, если Вы поддержите проект Open SLAED и используя Ваши возможности, разместите наш пресс-релиз на страницах своих сайтов, проектов, форумов, блогов. Текст пресс-релиза, возможно, видоизменить под Ваш формат, не искажая смысл. Пресс-релиз можно взять на данной странице.
Московская областная организация Союза Коммунистической Молодежи. Районные организации присутствуют почти во всех уголках Подмосковья. Наиболее многочисленные по составу находятся в городах Орехово-Зуево, Жуковкий, Фрязино, Ногинск, Электросталь. Лидер подмосковных комсомольцев член ЦК СКМ РФ Баранов Константин. В состав руководителей областной организацией МК СКМ входят секретари: Дмитрий Белов секретарь по организационной работе, Владимир Тучин секретарь по идеологии, Григорий Потехин секретарь по связям с регионами. В состав бюро Московского областного отделения входит семь человек. Областной комитет состоит из секретарей первичных отделений. Комсомольцы Подмосковья принимают активное участие во всех акциях и мероприятиях проводимых областным отделением СКМРФ, КПРФ и ЦК КПРФ. В начале 2006 года был создан региональный сайт Союза коммунистической молодежи www.mo-skm.info, который активно работает и позволяет быстро наладить обмен информацией среди городских и районных отделений СКМ.
Самой распространенной проблемой, с которой сталкиваются большинство пользователей на начальной стадии изучения основ создания сайтов и веб проектов, это изменение атрибутов файлов (CHMOD, 777 и т.п.). Атрибуты файла можно изменить непосредственно программой, которую вы используете для загрузки файлов на сервер или веб оболочкой, в случае если таковая предоставляется Вашим хостинг провайдером. FTP команда CHMOD - это упрощённая система прав доступа, которая используется в Unix (Linux) системах и соответственно на Unix (Linux) хостингах. Для серверов работающих на основе систем Windows в установке прав доступа нет необходимости.
Очень важно иногда назначить права доступа на определённые файлы и папки, находящиеся на веб-сервере, будь то в целях безопасности или просто для корректной работы скрипта. Это действие и называется chmod (change file mode), или по-русски: изменение режима доступа к файлам. Это название берёт свое начало с команды Unix - chmod, которая изменяет разрешения на файлы. Со временем «chmod» стал синонимом слова «разрешение» («permission»).
Когда какой-то CGI- или PHP-скрипт пытается записать данные в файл, он должен иметь соответствующее разрешение от операционной системы (Unix, Linux и им подобной). Без разрешения скрипт просто получит ошибку и не запишет никаких данных. Чтобы дать скрипту разрешение на запись в определённые файлы, на эти файлы должны быть установлены соответствующие разрешения (права). Процесс установки таких разрешений обычно называется установкой CHMOD. Итак, под CHMOD обычно понимается изменение прав доступа к файлу или каталогу.
На серверах под управлением Windows Server упрощённая система установки прав через атрибуты не работает и не используется. На Windows системах установки прав на файлы и каталоги эквивалентна максимальным правам, которые задаются через CHMOD.
Установка прав на файлы и каталоги (папки, директории)
Права доступа - это атрибуты файла или каталога, которые указывают серверу кто и что может делать с соответствующим файлом или каталогом. Обычно права доступа регламентируют такие действия как чтение, запись в файл (или каталог), исполнение.
В системах Unix (Linux) все пользователи разделяются на три группы:
user - непосредственно владелец файла;
group - член той же группы, к которой принадлежит владелец файла;
world - все остальные.
Когда вы соединяетесь с сервером, он определяет, к какой группе вы относитесь. Например, подключаясь к серверу по FTP, вы входите под своим именем пользователя, соответственно сервер относит вас к группе user. Другие пользователи, подключаясь по FTP, будет отнесены к группе group, а когда человек попадает к вам на сайт через свой браузер, то он попадает в группу world.
После определения группы пользователь получает права на действия с объектами, то есть он может прочитать, записать или выполнить файл. Чтобы просмотреть каталог, он должен быть исполняемым, чтобы просмотреть его содержимое, он должен иметь атрибут чтения, а чтобы создать новый файл или каталог в существующем каталоге, необходимо иметь право на запись. Таким образом, чтобы выполнялось приложение или CGI- или PHP-скрипт, необходимо ставить на каталог атрибут чтения и выполнения.
Создавая файл, пользователь автоматически получает самые широкие права на делание с этим файлом чего угодно, его группа — несколько меньшие права, а все остальные — совсем ничтожные права. В Unix (Linux) есть только три основных права — читать файл или просматривать каталог («Read»), изменять файл или каталог, записывая в него что-нибудь, или вообще его удалять («Write»). Последнее право — право на запуск файла («eXecute»).
Чтобы распределить права для соответствующих групп, используются цифровые обозначения:
4 = read (право на чтение);
2 = write (право на запись);
1 = execute (право на выполнение).
Первая цифра в обозначении устанавливает права для группы user (т.е. фактически для вас), вторая для группы group и третья для world.
Простым сложение цифр можно добиться установления прав на совокупность действий. Например:
3 (2+1) - разрешает запись и выполнение файла (каталога);
5 (4+1) - разрешает чтение и выполнение;
6 (4+2) - разрешает чтение и запись;
7 (4+2+1) - устанавливает право чтения, записи и выполнения.
Для установления прав доступа используется команда CHMOD.
Несмотря на это, еще никому не помешало знать чуть больше о командах Unix. Так вот, команда chmod имеет два режима: Абсолютный (цифровой) и Символьный режим. Команда chmod, используемая в Unix, или команда site chmod, используемая в некоторых FTP-менеджерах (-клиентах) (FTP Explorer, например), могут использоваться в обоих режимах.
При Абсолютном (цифровом) режиме используется описанный выше 3-х цифровой код прав доступа. Символьный режим использует буквенный формат для установки прав доступа. Здесь используются буквы r (read, чтение), w (write, запись) и x (execute, выполнение). А также u (user, пользователь), g (group, группа), o (other (world), другие, весь мир) и a (all, все [не используется]).
Вот несколько наиболее часто встречающихся сочетаний:
CHMOD 755 - Для директорий, CGI-скриптов, PHP-скриптов
CHMOD 644 - Для обычных файлов, PHP-скриптов
CHMOD 600 - Скрыть файлы от всех, кроме ваших скриптов
Во всех современных FTP-клиентах присутствует возможность назначения прав доступа путем простановки «галочек» в чекбоксах, либо просто введением цифрового кода в соответствующее поле.
Дата: 09.07.2007 Модуль: Статьи Категория: Информация Разместил: K-M
В прошлой главе мы познакомились с основами модуля mod_rewrite. В примере, который был рассмотрен, мы использовали конструкцию, которая в буквальном смысле означает следующее: «Если кто-то пытается получить доступ к файлу .htaccess, выдается ошибка, сообщающая, что доступ к файлу запрещен».
Это «правило» глобально, то есть каждый получит указанное сообщение об ошибке. Напомню, что mod_rewrite является модулем, который предоставляет «основанный на правилах механизм динамического изменения запрашиваемых URL-ов».
Мы можем ограничивать «правило» при помощи различных «условий правила». «Правило» будет выполнено только в том случае, если перед ним будет встречен ряд условий.
Синтаксис: условие должно предшествовать правилу!
Возьмем еще один пример (запись в файле .htaccess):
Назначение первых трех записей было подробно разобрано в первой части публикации. Их функция - включение «движка перезаписи», то есть самого модуля.
Последние две строки запрещают доступ поисковому роботу под кодовым названием «EmailSiphon» (имеется ввиду имя юзер-агента). Данный робот является сборщиком почтовых адресов с различных веб страниц.
Проверочная строка – переменная сервера, которая может быть записана в общей форме: «% {ИМЯ_ПЕРЕМЕННОЙ}».
Образец условия – регулярное выражение. Для более полного понимания темы стоит рассмотреть регулярные выражения как класс.
Регулярные выражения – это механизм, позволяющий задать шаблон для строки и осуществить поиск данных, соответствующих этому шаблону в заданном тексте. Кроме того, дополнительные функции по работе с такими выражениями позволяют получить найденные данные в виде массива строк, произвести замену в тексте по шаблону, разбиение строки по шаблону и т.п. Однако главной их функцией, на которой основаны все остальные, является именно функция поиска в тексте данных, соответствующих шаблону (образцу), описанному в синтаксисе регулярных выражений.
Регулярные выражения подобны маленькому, компактному языку программирования со своими правилами.
Например, регулярное выражение:
заменит строку «abc», на строку «xyz» во всем тексте.
Вот краткий обзор наиболее важных элементов с некоторыми примерами:
. (точка) - текст (любой символ)
| - чередование (то есть/abc|def/)
* - квантификатор (разрешено любое число)
^ $ - якоря строки
s - оператор (string1 заменить на string2)
g - модификатор (искать по всему тексту)
Регулярные выражения конструируются с помощью этих элементов и других «обычных» символов. Они не являются отдельным языком, а используются другими средствами, например языками программирования типа Perl или PHP, а также текстовыми редакторами (Emacs).
Если говорить о связи регулярных выражений и модуля mod_rewrite, то они используются в директивах RewriteRule и RewriteCond.
«^» обозначает начало строки. Из этого следует, что UserAgent должен начинаться со строки «EmailSiphon» и ни с чего другого («NewEmailSiphon», например, не работал бы).
Но, поскольку данное регулярное выражение не содержит символ "$" (якорь конца строки), UserAgent мог бы быть, например, «EmailSiphon2».
Последняя строка нашего примера:
определяет, что именно нужно делать, когда робот запросит доступ.
Регулярное выражение «^.*$» означает: «Доступ ко всем файлам запрещен».
Точка «.» в регулярном выражении – мета символ (подстановочный знак), означающий любой случайный символ.
«*» означает то, что строка может встречаться неограниченное количество раз. В этом случае, независимо от имени запрошенного файла, будет выдана ошибка.
«EmailSiphon», конечно, не единственный почтовый сборщик. Другой известный член этого семейства - «ExtractorPro». Допустим мы хотим запретить доступ и этому роботу. В таком случае нам необходимо еще одно условие.
Теперь файл .htaccess будет выглядеть так:
Третий аргумент [OR] (в первой строке RewriteCond) называется «флагом». Существуют два возможных флага:
NC – не учитывать регистр букв.
OR – означает «или следующее условие».
Флажок NC позволяет игнорировать регистр букв в искомом образце. Например:
Эта строка определяет, что и "emailsiphon" и "EmailSiphon" будут признаны как идентичные выражения.
Вы можете использовать сразу несколько флажков, разделяя их запятыми.
Нет никаких ограничений по числу условий. Таким образом, Вы можете блокировать 10, 100, 1000 или более известных почтовых сборщиков. Определение этих 1000 условий – просто вопрос загрузки сервера и прозрачности файла «.htaccess».
В вышеупомянутом примере используется глобальная переменная «HTTP_USER_AGENT». Существуют также другие переменные: REMOTE_HOST, REMOTE_ADDR
Например, если Вы хотите заблокировать паука пришедшего с www.site.ru, Вы можете использовать глобальную переменную «REMOTE_HOST» таким образом:
Если Вы хотите заблокировать определенный IP адрес, условие будет выглядеть так:
В регулярном выражении по проверке точного и полного IP адреса нужно использовать начальные и конечные якоря.
Также можно исключить целый диапазон:
Этот пример показывает, как можно заблокировать диапазон IP адресов с 212.37.64.0 по 212.37.64.255.
А вот маленькая задачка для проверки приобретенных знаний (решение будет дано в следующей части):
Внимание, вопрос!
Если мы пишем в регулярном выражении «^212.37.64» вместо «^212.37.64.» (с точкой в конце), то даст ли это тот же самый эффект, и будут ли исключены те же самые IP адреса?
До сих пор мы использовали простой RewriteRule, который генерирует сообщение об ошибках. В третьей части публикации мы проанализируем, как можно использовать RewriteRule для переадресации посетителей к определенным файлам.