Django 1.0 released!

2008-09-04 08:42  0 comments   django  web

Последние три дня в инете какая-то истерия по поводу выхода браузера Google Chrome. Тысячи статей и отзывов написно, найдены уже баги и проблемы с безопасностью. Но на мой взгляд самая главная новость начала осени -- это релиз замечательного фреймворка Django. Три года разработки, 350 000 строк кода, 4000 коммитов, 2000 багфиксов! Всех поздравляю! Ура!

Coldplay: Viva la Vida

2008-08-05 21:14  0 comments   music

Поклонником Coldplay являюсь уже давно. Их первые три альбома знаю почти наизусть. И вот наконец послушал их последний альбом -- Viva la Vida, который оказался для меня очередным замечательным музыкальным открытием.

Где-то подслушивается влияние U2, а на мой очень субъектвный слух слышится ещё и особое оптимистичное настроение последнего альбома Sigur Ros.

Советую всем послушать и порадоваться.

В какой последовательности апач обрабатывет свои конфигурационные секции.

2008-07-02 10:03  0 comments   apache

Начнём без долгих прелюдий. Источник - Configuration Sections из документации апача и его исходники, т.к. в документации не отражены разные тонкости.

Прикаждом запросе конфигурационные секции апача применяются так: сначала сливаются (соединяются, merge) директивы из конфигурации сервера (httpd.conf) и директивы из конфигурации виртуального хоста (в соответствующеё секции <VirtualHost>), и объединённая конфигурация (merged configuration) исполняется. Затем соединяются директивы из конфигурационных секций типа Directory, Files, файлов .htaccess, и полученная объединённая конфигурация исполняется.

Допустим, что апач обрабатывает запрос http://servername/a/b/index.html, в результате которого будет выдан файл /www/servername/a/b/index.html. Вот итоговая последовательность применения конфигурационных секций:

Соединяются конфигурации

  • httpd.conf
  • <VirtualHost> </VirtualHost>

Выполняется соединённая конфигурация

Соединяются конфигурации

  • <Directory /www/servername/> ... </Directory>

  • <VirtualHost> <Directory /www/servername/> ... </Directory> </VirtualHost>

  • /www/servername/.htaccess

  • <Directory /www/servername/a/> ... </Directory>

  • <VirtualHost> <Directory /www/servername/a/> ... </Directory> </VirtualHost>

  • /www/servername/a/.htaccess

  • <Directory /www/servername/a/b/> ... </Directory>

  • <VirtualHost> <Directory /www/servername/a/b/> ... </Directory> </VirtualHost>

  • /www/servername/a/b/.htaccess

  • <Directory ~ | DirectoryMatch ^/www/servername/> ... </DirectoryMatch>

  • <VirtualHost> <Directory ~ | DirectoryMatch ^/www/servername/> ... </DirectoryMatch> </VirtualHost>

  • <Directory ~ | DirectoryMatch ^/www/servername/a/> ... </DirectoryMatch>

  • <VirtualHost> <Directory ~ | DirectoryMatch ^/www/servername/a/> ... </DirectoryMatch> </VirtualHost>

  • <Directory ~ | DirectoryMatch ^/www/servername/a/b/> ... </DirectoryMatch>

  • <VirtualHost> <Directory ~ | DirectoryMatch ^/www/servername/a/b/> ... </DirectoryMatch> </VirtualHost>

  • <Files | Files ~ index.html> ... </Files> в порядке как они записаны в конфиге

  • <VirtualHost> <Files | Files ~ index.html> ... </Files> </VirtualHost> в порядке как они записаны в конфиге

  • <Location | Location ~ > ... </Location> в порядке как они записаны в конфиге

  • <VirtualHost> <Location | Location ~ > ... </Location> </VirtualHost> в порядке как они записаны в конфиге

Выполняется соединённая конфигурация

Linus Torvalds, Just for fun

2008-06-22 20:34  0 comments   books  linux

Прочитал сам о рекомендую всем. Книга Линуса Торвальдса "Just for fun". О том, как Торвальдс написал Линукс, и о том, что это для него значит.

Новый альбом Sigur Ros

2008-06-11 18:14  0 comments   music

Sigur Ros выложили свой новый альбом на Last.fm.

Я послушал и рекомендую всем. Очень свежее, интересное, красивое, немного загадочное, будто сказочное, неземное звучание. Слова песен, видимо, на исландском. Уже на второй композиции очевидно, что понять их невозможно. И это плюс. Голос начинает восприниматься как инструмент в ансамбле. Очень всем рекомендую.

IКона. Стив Джобс

2008-06-05 22:26  0 comments   books

Замечательная книга о Стиве Джобсе. Прочитал сам и всем советую. Кстати, первая книга, которую я прочитал с экрана. С экрана своего Motoming.

apache: аутентификация и авторизация #10: авторитарность

2008-06-02 21:28  0 comments   apache

Модули процесса аутентификации (mod_auth_basic , mod_auth_digest) и модули авторизации (mod_authz_user, mod_authz_groupfile) имеют директивы, отвечающие за авторитарность этих модулей: AuthBasicAuthoritative On|Off, AuthzUserAuthoritative On|Off, AuthzGroupFileAuthoritative On|Off. Эти директивы позволяют продолжить процесс аутентификации и авторизации следующим модулям. По-умолчанию эти модули авторитарны, т.е. Auth*Authoritative On.

В модуле mod_auth_basic авторитарность работает следующим образом. Обычно, каждый провайдер аутентификации, перечисленный в директиве AuthBasicProvider, пытается аутентифицировать пользователя и, если пользователь не был найден модулем, доступ будет запрещён с ответом 401 Authorization Required. Выключение авторитарности модуля - AuthBasicAuthoritative Off - для таких случаев позволяет не запрещать сразу доступ, а предоставить возможность аутентифицировать пользователя другим модулям. Например, модулям сторонних производителей, которые не могут быть подключены с помощью директивы AuthBasicProvider. Порядок обработки запроса такими модулями не конфигурируется и определяется в их исходном коде.

Для модуля mod_authz_user, например, отключение авторитарности - AuthzUserAuthoritative Off - позволяет продолжить авторизацию следующим модулям (например, mod_authz_groupfile), если не нашлось информации об аутентифицированном пользователе. Пример:

...
AuthzUserAuthoritative Off
Require user john group developers

Модуль mod_authz_user не сможет авторизовать пользователя tom (так как авторизоваться может только пользователь john) и, так как он неавторитарен, позволит продолжить авторизацию следующему модулю - mod_authz_groupfile, которые проверит, принадлежит ли пользователь tom группе developers.

Если все модули в процессе авторизации не смогли авторизовать пользователя и были неавторитарными, последним отработает модуль mod_authz_default, которые запретит доступ 401 Authorization Required.

apache: аутентификация и авторизация #9: mod_authn_default, mod_authz_default

2008-05-28 08:23  0 comments   apache

Модуль mod_authn_default является запасным последнем (fallback) модулем в процессе аутентификации. Если для запроса нет сконфигурированного модуля аутентифиукации (например, mod_auth_basic с AuthType Basic и далее) модуль mod_authn_default просто отклоняет любые аутентификационные данные и прекращает обработку запроса со стастусом 401 Authorization Required. Такое может случится, если, например, mod_auth_basic неавторитарен (AuthBasicAuthoritative Off - об этом следующем посте) и не смог аутентифицировать пользователя.

Модуль mod_authz_default является запасным последнем (fallback) модулем в процессе авторизации. Если для запроса не отработал ни один модуль авторизации (например, mod_authz_user с Require user john), а такое возможно если в Require были неопознанные требования, например, Require unknown requirement, модуль mod_authz_default просто прекращает обработку запроса со стастусом 401 Authorization Required.

apache: аутентификация и авторизация #8: mod_authn_anon

2008-05-25 10:51  0 comments   apache

Модуль mod_authn_anon позволяет аутентифицировать анонимных пользователей. В качестве имени как правило используется anonymous (но можно выбрать любые другие), в качестве пароля -- email. Этот email может быть сохранён в логе. Совместно с другими провайдерами аутентификации (например, mod_authn_file) модуль mod_authn_anon даёт возможность отслеживать доступ зарегистрированных пользователей и держать сайт открытым для незарегистрированных пользователей.

Пример конфигурации с комментариями:

AuthName "Protected area"
# тип аутентификации
AuthType Basic
# список провайдеров аутентификации, работают последовательно
AuthBasicProvider file anon
# путь к файлу с пользователями для mod_authn_file
AuthUserFile /path/to/your/.htpasswd

# Параметры mod_authn_anon
# может ли имя быть пустым или любым (on или off)
Anonymous_NoUserID off
# может ли пароль (т.е. email) быть пустым (on или off)
Anonymous_MustGiveEmail on
# проверять ли, что введеный пароль есть email (on или off)
Anonymous_VerifyEmail on
# логировать ли email(on или off)
Anonymous_LogEmail on
# список имён анонимных пользователей
Anonymous anonymous guest www test welcome

Require valid-user

Модуль mod_authn_anon может работать только с Basic-аутентификацией. Проверка email (включается директивой Anonymous_MustGiveEmail on) тривиальна - в строке проверяется наличие символа '@' и '.'.

← Prev 1 2 3 Next →