フリーCGIスクリプト配布サイト。
IDとパスワードによるアクセス制限を行う事ができます。IDごとに公開する内容を設定したり、権限を設定して権限ごとに公開する内容を設定したりする事ができます。
設置しておくと、特定の訪問者にのみ作品を公開するなど、会員制のコンテンツが作成できるようになります。
圧縮ファイルをダウンロードします。解凍ソフトを使ってファイルを解凍してください。(ダウンロードした時点で利用規定に同意したものとみなします。)
以下のサイトでスキンを配布していただいているので、是非ご利用ください。
よければ、ゲストブックに足跡を残していただけると嬉しいです。
このCGIの主な機能は以下のとおりです。
動作サンプルには以下のユーザーが登録されています。ユーザー名・権限によって、ログイン後に表示される内容が一部変化します。(sample2
と smaple3
に、専用の情報が設定されています。)
ユーザーの一覧は、管理者ページからも確認する事ができます。
ユーザー名 | パスワード | 権限 | 状態 |
---|---|---|---|
sample1 | sample1 | guest | 有効 |
sample2 | sample2 | guest | 有効 |
sample3 | sample3 | admin | 有効 |
sample4 | sample4 | guest | 無効 |
sample5 | sample5 | 有効 |
ダウンロードしたファイルを解凍すると、以下のファイルとフォルダが作成されます。
limit/limit.cgi
limit/init.cgi
limit/info.log
limit/user.log
limit/files/
limit/lib/
limit/lock/
limit/skin/
limit/limit.cgi
をエディタで開き、Perlのパスをサーバーに合わせて設定します。limit/init.cgi
で『基本設定』をそれぞれ設定します。limit/
フォルダごと、すべてのファイルをアップロードします。limit/limit.cgi
のパーミッションを705
に設定します。limit/info.log
、limit/user.log
のパーミッションを606
に設定します。limit/files/
、limit/lock/
のパーミッションを707
に設定します。limit/limit.cgi
にリンクを張ります。各機能の使用方法は機能解説をご覧ください。
また、余力があればセキュリティの向上についてで紹介しているセキュリティ対策を行う事をおすすめします。
設置完了後のディレクトリ構成は以下のようになります。(カッコ内の数値はパーミッションの値。)
limit / limit.cgi [705]
| init.cgi
| info.log [606]
| user.log [606]
|
+-- files [707] / index.html
|
+-- lock [707] / index.html
|
+-- lib / ~略~
|
+-- skin / ~略~
管理者ページから登録したコンテンツは info.log
に、ログインユーザーの情報は user.log
にそれぞれ保存されます。もしブラウザから直接これらのファイルにアクセスされると、パスワードなしにコンテンツを閲覧できたり、ログインユーザー名が閲覧できたりしてしまいます。(ログインパスワードは暗号化されていますが、閲覧されるのは好ましくありません。)
ファイルに直接アクセスされないように、これらのファイル名は変更しておくと効果的です。ファイル名は、init.cgi
の以下の部分で設定できます。
#ログファイル
$init->{log_file} = './info.log';
#ユーザー情報ファイル
$init->{user_file} = './user.log';
また、suEXECに対応しているサーバーなら、これらのファイルのパーミッションを 600
に設定しておけば直接アクセスできなくなります。他にも、.htaccess
を利用したり、公開用ディレクトリの外にファイルを設置したり…と、いろいろな対策があります。
なお、アップロードファイルに対する直接アクセスは制限する事ができません。簡単にアクセスされないよう、規則性の無いファイル名でのアップロードを推奨します。