Всё не так просто... » get http://www.lab108.ru Мэрфолог-практик Sat, 10 Sep 2016 19:25:18 +0000 ru-RU hourly 1 http://wordpress.org/?v=3.9.14 Apache 2 vs IE7+MSO12 /2009/10/01/apache-2-vs-ie7mso12/ /2009/10/01/apache-2-vs-ie7mso12/#comments Thu, 01 Oct 2009 10:24:12 +0000 /?p=3299 По производственной необходимости пришлось соорудить скрипт на перле, генерирующий 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шку. А там сессия уже открыта.

]]>
/2009/10/01/apache-2-vs-ie7mso12/feed/ 0