<MyRusakov.ru />

PHP и MySQL с Нуля до Гуру

PHP и MySQL с Нуля до Гуру

Данный курс - это более 20-ти часов видеоуроков по изучению PHP и MySQL. Ключевой момент курса - это создание движка для сайта с нуля. Каждая строчка комментируется. Практически для каждого урока имеются упражнения. Причём данные упражнения направлены не только на закрепление материала, но и на реализацию реальных задач, встающих перед Web-разработчиками при создании сайтов. После курса Вы сможете без проблем создавать движки для любых сайтов.

Также почти к каждому уроку идут упражнения для закрепления материала.

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Использование RewriteCond в mod_rewrite

Использование RewriteCond в mod_rewrite

В прошлый раз мы с Вами использовали mod_rewrite для запрета доступа к файлу. Очень важным моментом было то, что исключений не делалось, то есть запрет доступа абсолютно для всех. Однако, mod_rewrite позволяет нам задать условия через RewriteCond, при выполнении лишь которых будет выполнено правило в RewriteRule.

Давайте с Вами разберём следующий пример:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} !^127.0.0.1$
RewriteRule ^secret.php$ - [F]

В директиве RewriteCond указываются условия, выполнив которые, будет вызвано правило. Мы написали, что если IP-адрес (конструкция %{REMOTE_ADDR}) не является 127.0.0.1 (регулярное выражение "!^127.0.0.1$"), то в этом случае надо вызвать RewriteRule и закрыть доступ к файлу.

Разберём ещё один пример с использованием RewriteCond:

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^127.0.0.1$ [OR]
RewriteCond %{REMOTE_ADDR} ^127.0.0.2$
RewriteRule ^secret.php$ - [F]

В данном случае мы уже написали два условия. Для того, чтобы выполнялось правило, необходимо выполнение всех предшествующих перед ним условий. Но если мы поставим флаг [OR], то тогда достаточно выполнения либо этого условия, либо следующего за ним.

Помимо флага [OR], есть флаг [NC] - означающий игнорирование регистра символов. В случае, с IP-адресом он смысла не имеет. Поэтому давайте с Вами разберём ещё следующий пример:

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://(www\.)?example1\.com/.*$ [NC, OR] RewriteCond %{HTTP_REFERER} ^http://(www\.)?example2\.com/.*$ [NC] RewriteRule ^secret.php$ - [F]

В данном примере мы запретили доступ к файлу secret.php, если пользователь пришёл с сайта example1.com или example2.com.

Как видите, использование RewriteCond в mod_rewrite совсем не трудное занятие. Единственная проблема здесь - это регулярные выражения. Если Вы их ещё не умеете писать, то обязательно пройдите этот курс - там регулярные выражения подробно разбираются.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (1):

Dima2000%. Dima2000%. 24.02.2014 20:23:02

Спасибо за статью!

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.