1.概要
ユーザー登録を行った人だけがアクセスできるページを作れるようになります。 パスワードはメールで送られるため、適当に登録することが出来なくなり、対象外の人 を排除できます。フリーのメールアドレスとか使われるとダメですが。ただし、登録に パスワードをつけることが出来るので、管理人しか新規登録できないようにすることも 可能です。
Ver.1.00から複数のページにも対応しました。
注:Ver.1.30から多少、使い方が変更になっています。
2.アップロード方法
CGI本体の先頭部分にある初期設定を自分の環境に合わせて変更します。その後、下記 の例を参考にサーバーにアップロード。
設置の例です。 CGI本体内部の設定である程度変化します。< >内はパーミッション(suExecが使える場合は、700や600にしたほうがいいでしょう。まあ、suExecが使えるサーバーを使っている人には言うまでもないでしょうが)
/cgi-bin <755 or 757>
|--jcode.pl <644> ...日本語コード変換ライブラリ
|--sec.cgi <755 or 705>...CGIの本体です。
|--data.cgi <644> ...表示するHTMLデータ
|--list.cgi <644> ...画像ファイルのリスト
|--pass.cgi <666 or 606> ...パスワード保存用(空のファイルを用意)注1:sec.cgiの文字コードはEUCでアップロードしてください。解凍したファイルの文字コードはEUCになっています。data.cgiの文字コードは任意です。
注2:動かない場合はCGIの置いてあるディレクトリのパーミッションを757にしてみてください。
3.使用方法
使い方はサンプルファイルを見るのが一番解りやすいかと思いますが、一応説明。
- アクセスする
特にファイル名を変更していなければ、「sec.cgi」にリンクを張るだけです。
- HTMLファイルの追加
HTMLファイルはすべて"data.cgi"のファイルに記録します。
まず、普通にファイルを作りましょう。その後、そのHTMLソースの一番上と一番下に「<!--==index==-->」の1行を追加します(「」は必要ありません)。赤字で示されたindexの部分は任意です。この部分が呼び出すときに使う名前となります。ただし、アクセスしたときに最初に表示されるのは<!--==index==-->で囲まれた部分です。
- HTMLファイルへリンクを張る
保護されていないHTMLファイルへのリンクは普通でかまいませんが、保護しているHTMLファイルへのリンクは少し違い、「<a href="$cgi?html=hoge">ほげほげ</a> 」と書きます。赤字のhogeの部分は先ほど説明した、呼び出すときに使う名前です。この場合だと、「<!--==hoge==-->」で囲まれた部分が表示されます。青字のほげほげは任意です。
- 保護されたファイルにリンクを張る
HTMLソース中で画像を使う場合、普通の画像であれば普通にリンクを張ればOKです(ただし、相対リンクの場合は、CGIが置かれている場所からの相対になります)。しかし、パスワードを知らない人には見られたくない画像もあることでしょう。その場合、下記のようにすることで画像も保護できます。
- 画像を用意する。どこに置いても良いが、CGIと同じ場所に置くのが面倒がなくて良い。
- list.cgi のファイルに画像のファイル名を追加する。相対パス、絶対パスでも可。
- <img src="$cgi?img=1"> のようにリンクを張る。赤字の数字は list.cgi における行数です。ただし、1行目には説明がかかれているため、「実際の行数−1」(たとえば、2行目が1)となります。
- ユーザーの追加
特にファイル名を変更していなければ、「sec.cgi?user=1」にアクセスするだけです。記載したメールアドレスにたいして派パスワードが送信されます。
- 対応していないファイルについて
このプログラムで保護できるファイルはHTML、JPEG、GIF、PNGです。普通はこれで十分だと思いますが、他にも対応してほしいファイルがあればご連絡ください。4.オプションについて
初期設定部分である程度カスタマイズ可能です。それについての説明。使うだけなら、ほとんど変更必要ありません。
- require './jcode.pl'
jcodeまでのパスを記します。同じディレクトリに置いてあれば変更の必要なし。
- $sendmail
sendmail までのパスです。プロバイダに聞いて記入しましょう。
- $passfile
ユーザーのパスワードが保存されるファイルを指定します。特に必要のない限り変更しないようにしましょう。
- $htmlfile
HTMLソースを保存するファイルを指定します。特に必要のない限り変更しないようにしましょう。
- $img_list
画像などのファイル名を保存するファイルを指定します。特に必要のない限り変更しないようにしましょう。
- $myurl
自分のサイトのURLを記入します。使われるのはユーザー登録後の戻るのリンク時のみです。
- $cgi
cgi のファイル名を記入します。ファイル名を変更していなければこのままでかまいません。というか、変更は勧めめません。
- $pass_save
「何度もパスワードを入れるのは面倒」という場合は1にしましょう。同じパソコンからであれば、ブラウザのキャッシュをクリアしない限りパスワードなしでアクセスできるようになります。ただし、共用パソコンからアクセスしている人がいた場合、そのパソコンを使う人が誰でもアクセスできるようになってしまう可能性があります。ブラウザのキャッシュをクリアしておけば問題ありませんが。
- $use_add_pass
通常、メールアドレスさえ入力すれば誰でも登録が可能ですが、これを1にすることで、登録パスワードを知らない人は登録できなくなります。
- $master_password
登録パスワードです。初期値は 1234 になっているので、上を1にした場合は必ず変更しましょう。
- $mymail
自分のメールアドレスを記入します。パスワードを送った際、送信者の欄に使われます。
- $subject
パスワード送信時のメールのSubjectに使われます。
- $sentence
パスワード送信時のメールに挿入される文章です。改行は\nを使いましょう。
5.利用規定(ご理解、ご了承の上、お使いください)
- このCGIの著作権は私、いつきにあります。著作権表示を変更しないでください。
- できましたら、私のサイト「www.new-f.com」にリンクを張っていただけると嬉しいです(強制ではありません)。
- 初期設定部分以外の改造を禁止するものではありませんがおすすめしません。改造したものが動かないといわれても対応はできませんので。
- このソフトウェアを使用したことであなたが何かしらの不利益を被ったとしたとしても、それに関して私はいっさい関知しません。
- ご要望、バグなどがありましたら、私までお願いします。できる限り対応していきたいと思います。
- なお、使用される場合は「使ってます」の一言でもメールをもらえたら嬉しいです。誰も使わないものを公開しているのはむなしいですから。(^^;;
6.カンパについて
シェアウェアではありませんが、気に入ったらカンパしてくれると嬉しいです。このソフトに払っても良い、と思える金額でかまいませんから。
郵便振替口座
口座番号:00910-2-107394
加入者名:いつき
7.その他
- Ver.1.2などからの移行について
プログラムの書き換えによって少々、使用が変わっていますが、変更すべき点は2点です。
・ユーザー登録の呼び出しを「sec.cgi?pr=2」から「sec.cgi?user=1」に変える。
・HTMLソース中の$ipを削除
- GIFファイルについて
更新履歴などはテキスト版Readmeを見てください。正式文書はテキスト版です。
某ユニシスの特許問題でGIFを扱うプログラムが影響を受けていますが、ユニシスの特許はエンコード、デコードに関わるものですので、バイナリで読み込んでそのまま渡すだけのこのプログラムは全然関係ありません。
============================================================================== 【ソフト名】 ユーザー登録・認証CGI Ver.1.31 【著作権者】 いつき 【対応環境】 Perl 5以降の動作可能な環境。UNIX互換を推奨。 【開発言語】 Perl 5 【開発環境】 Windows2000 + AMD K7 【 種 別 】 カンパウェア 【転載条件】 不可。トップページへのリンクでお願いします。 【連 絡 先】 itsuki@mail.hot.co.jp 【1次配布】 http://www.new-f.com/ (2001/03/30) ===============================================================================