今回はそれぞれの処理をサブルーチンにしてあります。
sub passenter はそのままCGI にアクセスした時に表示されるパスワード入力画面
sub imgview はパスワードが合っていた場合に画像を表示する部分
sub dec はフォームから渡された値をデコードするサブルーチン
sub error はパスワードの入力が間違っていた場合のエラー画面表示
下のサンプルソースでは、そのまま CGI にアクセスすると、パスワード入力画面が表示され、
パスワードが合っている場合、指定した画像 (aaa.jpg) を表示します。
間違っている場合はエラー画面となり、正しいパスワードを入れるまで画像は表示されません。
このように CGIから画像を出力するようにすると、サーバ側の設定で画像ファイルの読み出しが禁止
されているディレクトリでも、画像を表示する事ができます。
逆に言えば、制限があるディレクトリで使用すると CGI からしか表示する事が出来ない為、パスワード
を通るまで画像は絶対に表示されないような仕組みにする事ができます。
|