ログインしなくても見える画像

ミクシィ、画像に認可制御なしの欠陥を改修できず、ヘルプで弁解,これは少なくともMoodleやOpenPNEでも同じことのようだ。[#MDL-7094] Force login for images as config or detailed setting please - Moodle TrackerでPetrが答えてくれているが,画像をPHPで送出しているにもかかわらずクッキーのチェックをしていないのは,画像がキャッシュされなくなり重くなるからだという。ソースを読んで納得した。もしログインを強制したいなら,Moodleのuser/pix.phpの冒頭の

$nomoodlecookie = true;

を消し,その次の

require_once('../config.php');

の後に

require_login();

を入れればよい。キャッシュを犠牲にしてもこれをするのがいいか悩むところである。いずれにしても私がMoodleの中で騒いだログインしなくてもコンテンツが???(要登録)は過去にStopping Hotlinking of Images(要登録)でも議論されており,バグではなく仕様だということになっていたようだ。

とりあえず三重大学のMoodleではチェックするようにした。

重くならないように

>画像がキャッシュされなくなり重くなるからだという。
ことですが、画像を出すプログラムだけ
session_cache_limiter('private');
すればよいように感じます。

Re: 重くならないように

なるほど。session_cache_limiter('private_no_expire'); で試してみます。

画像+クッキーの不具合

このように設定したところ,トップページに「オンラインユーザ」ブロックを設置している場合,ログインしない人には絵が見えません(当然か)。しかも,ログイン後に自分の画像にリダイレクトしてしまうという報告を受けました。私のところでは再現できませんがWindowsのOperaで起こる,Firefoxでもよく起こる,IEでは起きないということです。

本当に重くなるのか

「キャッシュされないから負荷が馬鹿にならない」などというのは、詭弁のたぐい、もしくは思い込みでしょう。
制限のかかった画像だけがキャッシュされない場合の負荷増加率を計算してみたのか?と問いたいところ。
おそらく、10%以下といったところでしょう。

コメントの表示オプション

お好みの表示方法を選択し、「設定の保存」をクリックすると、表示方法を変更することができます。