数日間、ずっとと言うわけではないが、かかりきりで対応していた。
Joomla!のキャッシュ対応でセッションが正しく保存されないのである。何度やっても異なる値が保存される。いろいろ検索してみても答えを出してくれないし、結局いろいろやって結果が出た。私のミスでした。
これは、それがセキュリティのチェックのための動作であり、どうしても外したくなかったので根気を入れて解決策を探していました。いろいろ見ていくと、どうも他のエクステンションではそういったチェックはやっていなさそうで、そうした記述はみられない気がしました。
一例ですが、Tokenのチェックです。Captcha画像ですが、これってPHP(サーバー)側にとってアクセスが増えればそのまま負荷に繋がるものです。それは、この画像生成を毎回やっているからです。画像生成が負荷かかるものというのは常識ですが、これを表示する毎にやっているので当たり前の事ですがせめて外部からアクセス出来ないようにする、もしくはしにくくするということは当然対策としてやるべきものと考えていて実際そうしています。
ところが、これをやっていないものがたくさんあってその生成方法だけがわかれば、外部Captchaとして利用可能なような状態、またはいたずらが可能な状態のものが多いようです。
何万回あるいはそれ以上のアクセスをされることを考慮しなくて良いのでしょうか?
例えば、random=randomnacode 見たいな感じで画像のURLにくっつけて生成しているタイプなどは、その生成ルーチンさえわかれば、それを利用してその別サイトのURLで画像だけ生成させることが可能になる。Recaptchaのようなサービスを始めるわけでもないのにそんなことできないようにした方が良い事は間違いない。中には、画像生成するたびにデータベースに文字データを登録するものもあってそれなど例えば、そのCaptcha画像に1日100万回アクセスされれば、100万レコード登録されてしまう。そうされないようにするためには、セッションを利用するのが一番簡単で今回のミスに繋がっていました。
結局私は、ここにも書けないくらい、めっちゃあほな事をやってて、全く無駄な時間を過ごしてしまいました。









