Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

ExCode.ru - программирование на высоком уровне


Информационный Канал Subscribe.Ru

ExCode.ru - программирование на высоком уровне
Выпуск №13 ( 2005.10.22 )
Здравствуйте, уважаемые подписчики!

Ну вот, подошли мы с вами к несчастливому 13 числу. Я только-что вернулся с четверть-финала чемпионата мира по программированию, так что этот выпуск получился несколько короче чем обычно, вы уж не обижайтесь пожалуйста.


Новости копьютерного мира:
2005-10-19    Лазерные принтеры оставляют на бумаге скрытую маркировку
Правозащитная организация Electronic Frontier Foundation (EFF), изучающая вопросы взаимоотношений высоких технологий и прав человека, сообщила, что ей удалось установить, что некоторые модели современных лазерных принтеров оставляют на бумаге скрытую маркировку, в которой закодированы дата и время печати документа, а также идентификатор принтера, пишет во вторник журнал Nature.

2005-10-19    На создание "армии будущего" Россия тратит 18 процентов военного бюджета
Российская армия получит цифровую систему управления и связи нового поколения к 2015 году, сообщает РИА "Новости". По словам начальника войск связи генерал-полковника Евгения Карпова, на ее создание Минобороны тратит ежегодно до 18 процентов своего бюджета.

2005-10-19    Сайт о вторжении Китая в Японию маскировался под Yahoo
Корпорация Yahoo Japan и информационное агентство Kyodo News намерены обратиться в суд в связи с появлением в интернете фальшивого сайта, на котором сообщалось о вторжении китайских войск на японский остров Окинава. Сообщение было размещено на странице, которая копировала внешний вид сайта новостей Yahoo на японском языке. Кроме того, ссылки с этой страницы вели на подлинный сайт Yahoo News, сообщает газета Mainichi Shimbun.

2005-10-22    Два китайца получили смертные приговоры за поджог интернет-кафе
Два жителя Китая были приговорены к смертной казни и еще один - к пожизненному заключению за поджог интернет-кафе в провинции Гуаньдун, сообщает издание The Register со ссылкой на китайскую газету Shanghai Daily News.

2005-10-22    Конгресс США рекомендует не отдавать Интернет "нестабильным парням"
Американские конгрессмены порекомендовали исполнительной власти США противостоять попыткам отдать Интернет под международный контроль. Этот вопрос, как сообщает Reuters, обсуждался на заседании американского Сената в четверг, в результате была вынесена соответствующая резолюция.

2005-10-22    На Google Print снова подали в суд
Пять крупных издательских компаний в США подали в суд на компанию Google, инкриминируя ей нарушение авторских прав при работе над проектом Google Print. Как известно, в рамках этого проекта проводится оцифровка книг из большого числа библиотек, которые попадают в доступную через Интернет базу данных. По текстам всех оцифрованных книг все посетители сайта могут производить поиск, но доступ к книгам, защищенным авторскими правами, заблокирован - выводятся лишь короткие фрагменты, содержащие заданные при поиске слова.

2005-10-22    Google увеличила выручку на 96 процентов
Финансовые результаты деятельности Google за третий квартал существенно превзошли самые смелые прогнозы аналитиков. Выручка компании выросла на 96 процентов по сравнению с аналогичным периодом прошлого года и составила 1,578 миллиарда долларов, сообщает USA Today. Чистая прибыль Google составила 381,2 миллиона долларов и увеличилась по сравнению с аналогичным периодом прошлого года в семь раз.

Статья номера:

Модуль mod_rewrite. Часть 1.


Автор: Denveroid

Вы наверняка встречали в сети термин [mod_rewrite]. Для наших читателей, которые не до конца знакомы с этим модулем веб сервера Apache, а также для тех, кто вообще первый раз об этом слышит – постараюсь рассказать в этой публикации (в нескольких частях) подробнее о данном модуле.

Модуль mod_rewrite является программным модулем веб сервера Apache (обратите внимание, что он не будет выполняться под другими веб серверами!). Его первичная функция - манипуляция действий с URL. Модуль очень универсален и разносторонен, поэтому я постараюсь показать здесь множество реальных примеров.

Mod_rewrite является замечательным модулем, который предоставляет [основанный на правилах механизм динамического изменения запрашиваемых URL-ов]. Это действительно мощный инструмент, и поэтому, его знание принципиально важно, если вы хотите стать подлинным веб мастером или веб программистом. Не столько принципиально, будете ли вы использовать его в своей работе, сколько важно то, что вы знаете, что он может делать, и сможете поведать об этом своему боссу, когда появится желание сделать что-нибудь странное с веб сервером.

Однако нужно быть очень осторожным и даже дотошным при работе с этим модулем! Некоторые ошибки, которые Вы способны допустить, могут привести к логической петле, причиняя непрекращающуюся 100%-ую загрузку ценрального процессора (CPU).

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

Прежде, чем мы сможем приступить к работе, Вы должны будете проверить, установлен ли модуль на вашем веб сервере или нет.

Есть несколько способов проверить это:

1. Спросить вашего системного администратора - знает ли он (или она) о наличии этого модуля на веб сервере. Они действительно должны знать, но как показывает практика – попадаются и не очень сведующие сисадмины ...
Не напрягайте других: если Вы используете ваш веб сервер с сотнями других доменов, ваши действия могут разбудить некоторых спящих собак, поскольку использование mod_rewrite будет всегда влечь за собой некоторую увеличенную загрузку ценрального процессора.
2. Проверить ваш файл конфигурации Apache (httpd.conf), если Вы имеете к нему доступ. Один из возможных стандартных путей может быть:
/etc/httpd/httpd.conf
Однако, ваш путь может очевидно отличаться от этого.
3. Проверить работу вашего сервера с нижеприведенными примерами. Если сервер работает без ошибок – mod_rewrite действительно установлен на вашей системе. Если нет, Вы получите следующее сообщение при запросе любой web-страницы с вашего сервера: [Внутренняя ошибка сервера]

Также, Вы увидите такую запись в файле [error.log]:
[Invalid command 'RewriteEngine', perhaps mis-spelled or defined by a module not included in the server configuration].

Теперь давайте копнем поглубже и посмотрим первый практический примерчик.

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

Для нашего примера потребуется использование файла .htaccess.

файл .htaccess

Для работы этого метода, Вы должны загрузить файл под названием [.htaccess] (пожалуйста, обратите внимание на точку в начале имени файла!) в папку сервера, с которой Вы будете работать. Это можно сделать через telnet или ftp. (Предупреждение: .htaccess должен быть загружен в [режиме ASCII], то есть не в бинарном режиме!)

Если у Вас уже имеется файл [.htaccess], например со следующими записями:


Options Includes +ExecCGI
AddType text/x-server-parsed-html .html


то просто добавьте снизу наш образец кода к уже существующему (Важно: редактируйте ваш файл .htaccess в ASCII-редакторе типа Notepad).

Первые две записи запустят сам модуль:


RewriteEngine on
Options +FollowSymlinks


Совет: запись [RewriteEngine off] отменит все последующие команды. Это - очень полезная особенность: вместо необходимости комментировать все последующие строки – все, что Вы должны сделать, это установить [off].

Если ваш системный администратор запрещает Вам использование [Options +FollowSymlinks], Вы не сможете ограничить использование mod_rewrite для отдельных каталогов, вместо этого изменения будут действовать на весь сервер.

Следующая необходимая запись - это:


RewriteBase /


[/] является корневым (основным) URL. Если у Вас какой-то другой URL, Вы можете указать это в данной директиве, однако [/] – обычно эквивалентно адресу [http://домен.ру].

А теперь, господа, перейдем к более интересным записям!

Предположим, что вы хотите защитить от несанкционированного доступа ваш файл .htaccess. На некоторых серверах Вы можете легко читать этот файл просто вводя URL следующего формата в поле адреса вашего браузера: http://www.domain.com/.htaccess – серьезное упущение защиты, так как содержание вашего .htaccess может показать важную информацию об установках и настройках вашего сайта человеку, знающему как эти знания применить против вас.

Чтобы блокировать этот доступ, запишем следующее:


RewriteRule ^.htaccess$ - [F]


Это правило переводится так:

Если кто-то пробует обращаться к файлу .htaccess, система должна произвести код ошибки [HTTP response of 403] или [403 Forbidden - You don't have permission to access /.htaccess on this server].

Конструкция ^.htaccess$ в этом регулярном выражении означает:

^ – якорь начала строки
$ – якорь конца строки
. – в регулярных выражениях точка [.] обозначает мета-символ и должна быть защищена обратным слэшем (backslash), если Вы все-таки хотите использовать именно фактическую точку.

Имя файла должно быть расположено точно между начальным и конечным якорем. Это будет гарантировать то, что только это определенное имя файла и никакое другое, сгенерирует код ошибки.

[F] – специальный [запрещающий] флажок (forbidden).

В этом примере, файл ".htaccess" теперь будет состоять из таких строк:


RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^.htaccess$ - [F]


Если мы добавим наш код (в примерах) к существовавшему ранее файлу [.htaccess], то получим следующую конструкцию:


Options Includes +ExecCGI
AddType text/x-server-parsed-html .html
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^.htaccess$ - [F]


Это введение затрагивает лишь основы, требуемые для того, чтобы работать с модулем mod_rewrite. Во второй части этой обучающей серии статей постараюсь объяснить использование различных условий в конфигурировании модуля.


Новые статьи на сайте ExCode.ru:
НазваниеРаздел
Сокрытие PHPPHP » Общие
ЗащитаPHP » Общие
Пишем маленькую ленту новостейPHP » Примеры
Модуль mod_rewrite. Часть 4.Web » Apache
Модуль mod_rewrite. Часть 3.Web » Apache
Модуль mod_rewrite. Часть 2.Web » Apache
Модуль mod_rewrite. Часть 1.Web » Apache
Искусство создания компонентов DelphiОбзор книг » Delphi
Послесловие:

Послесловия сегодня не будет.

Ведущий рассылки: LedWorm
ExCode.ru 2005

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.excode
Архив рассылки
Отписаться
Вспомнить пароль

В избранное