По производственной необходимости пришлось соорудить скрипт на перле, генерирующий CSV файл и отдающий его через браузер пользователю. Поскольку доступ к этому скрипту должен быть не у всех, огородил директорию со скриптом файликами .htaccess и .htpasswd, прописав туда пользователй и их пароли. Проверил, работает.
Но тут началось малопонятное. Если обратиться к этому скрипту из Internet Explorer 7 то он спрашивает логин и пароль, потом что делать с файлом, а потом, если выбрать “Открыть”, то снова запрашивается пароль. Вот второй запрос пароля не понравился заказчику.
Ковыряние в логах показало, что вместо того, чтобы сказыть файл во временную директорию и от туда открыть его в Excel, эта зараза запускала Excel, передав ему в качестве имени открываемого файла ссылку на web-ресурс. А что, 2007-й офис умеет открывать файлы из интернета. А офисный движок опять запрашивал пароль на доступ.
Кафедра экономики
Вылечилось это добавлением нескольких строк в описание директории
ScriptAlias /dir/ /usr/local/dir/ <Directory "/usr/local/dir"> <Limit GET POST> Order allow,deny Allow from all </Limit> <LimitExcept GET POST> Order deny,allow Deny from all </LimitExcept> AuthType .htaccess AllowOverride Authconfig Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory>
Потому как офис генерит не GET или POST запрос, а OPTIONS и HEAD
В результате офисный движок обламывается скачать файл и просит сделать это IEшку. А там сессия уже открыта.