「ワードでホームページ」は日本一簡単です!!

ブログ - 画像認証が効かなかったのを修正しました

画像認証が効かなかったのを修正しました

カテゴリ : 
ブログ
執筆 : 
2020/4/5 2:21
緒方です。

無料DVDで使う動画を作成していたら、新規のユーザを作成するところで、画像認証が効かないケースがあることに気づきました。ちょっと専門的で開発の話になってしまいますが・・・。

画面は以下のような感じで、ユーザを作成する際、画面に表示された正しい認証コードを入力しないといけないというものです。


インターネットで何かを登録する際には、こういう画像認証の技術を使って、本物の人間が入力しているのか?、スパム攻撃と言って、迷惑なプログラムからの自動登録なのかを判断します。

ただし、今では英数字の4桁くらいの画像は突破する自動判別プログラムがあるそうですが、とりあえずこのレベルの対策でも、ほとんどの攻撃は撃退できるので良いのです。

・・・が、正しい認証コードを入力しているのに間違っていると誤認識するケースがありました。先週の日曜に気づいて、この一週間はいろいろな調査をしていました。

この画像認証のロジックを追いかけることを専門用語ではデバッグすると言いますが、ロジックをデバッグしていると、正しく処理されるケースがわかりました。表示された画像が読みにくい場合に、クリックすると、次の画像が表示されるのですが、この時は正しく判別されます。誤認識するのは、1回目の最初の表示の時ということがわかったのです。

ということはロジックは正しいのですが、処理のタイミングが合わないのでは?と思って、試しに画像表示を5秒待ってみるコードを追加したら、それだけであっさり正常に処理されるようになりました。

本来は、正しい処理が行われたかどうかを判別するべきなのですが、単純に5秒待てば正常処理されることがわかったので、これで対策としました。ImpressCMSの本体に手を入れることになってしまいましたが、これをやると、次にImpressCMSがバージョンアップした際には同じ個所を修正するということを忘れてはいけませんね。


    閲覧 (382)