ページ

2013年12月25日水曜日

SSL適用時に古いバージョンのInternet Explorerからファイルのダウンロードができない場合の対処方法

サーバー上でSSLを適用した場合、古いバージョンのIntenet Explorerだとファイルのダウンロードが全くできない場合があります。お手上げかと思っていたら、NetCommons2公式サイトに解決方法が掲載されていました。
この対象ファイルのコメント欄にもある通り、この方法を取る弊害も書かれていますので、十分に理解した上で変更を行ってください。

[対象ファイル]
~/html/webapp/components/uploads/View.class.php

[変更例]
385~393行目の // コメントを削除する
//} else if (isset($_SERVER['HTTPS']) && stristr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
//  // IE + サイト全体SSLの場合、ダウンロードが正常に行われない。
//  // ダウンロードさせるためには、以下コメントをはずす必要があるが、
//  // アップロードした画像ファイル等をローカルキャッシュにとられてしまう弊害がある。
// // 1Week
// header("Cache-Control: max-age=604800, public");
// header('Pragma: cache'); //no-cache以外の文字列をセット
// $offset = 60 * 60 * 24 * 7; //  1Week
// header('Expires: '.gmdate('D, d M Y H:i:s', time() + $offset).' GMT');



<参考URL>
バグかな?と思ったら - NetCommons2公式サイトhttp://www.netcommons.org/%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E3%81%94%E8%B3%AA%E5%95%8F/%E3%83%90%E3%82%B0%E3%81%8B%E3%81%AA%EF%BC%9F%E3%81%A8%E6%80%9D%E3%81%A3%E3%81%9F%E3%82%89/