Web Limit

Web Limit Ver 1.04 (2009/08/18)

IDとパスワードによるアクセス制限を行う事ができます。IDごとに公開する内容を設定したり、権限を設定して権限ごとに公開する内容を設定したりする事ができます。

設置しておくと、特定の訪問者にのみ作品を公開するなど、会員制のコンテンツが作成できるようになります。

ログイン画面 情報閲覧画面 ユーザー管理画面

圧縮ファイルをダウンロードします。解凍ソフトを使ってファイルを解凍してください。(ダウンロードした時点で利用規定に同意したものとみなします。)

以下のサイトでスキンを配布していただいているので、是非ご利用ください。

よければ、ゲストブックに足跡を残していただけると嬉しいです。

広告

WADAX
現在 Web Liberty が利用しているサーバー。安心の365日電話サポート付きレンタルサーバーです。
ロリポップ!
月額263円からのレンタルサーバー。多機能でマニュアルも充実しています。

機能

このCGIの主な機能は以下のとおりです。

サンプルについて

動作サンプルには以下のユーザーが登録されています。ユーザー名・権限によって、ログイン後に表示される内容が一部変化します。(sample2smaple3 に、専用の情報が設定されています。)
ユーザーの一覧は、管理者ページからも確認する事ができます。

ユーザー名 パスワード 権限 状態
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/
ここにスキンファイルが格納されています。デザインを変更する場合はこの中のファイルを編集します。

設置方法

  1. limit/limit.cgiエディタで開き、Perlのパスをサーバーに合わせて設定します。
  2. limit/init.cgi で『基本設定』をそれぞれ設定します。
  3. limit/ フォルダごと、すべてのファイルをアップロードします。
  4. limit/limit.cgiパーミッション705に設定します。
  5. limit/info.loglimit/user.logパーミッション606に設定します。
  6. limit/files/limit/lock/パーミッション707に設定します。
  7. 設置完了。任意のページから 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 を利用したり、公開用ディレクトリの外にファイルを設置したり…と、いろいろな対策があります。

なお、アップロードファイルに対する直接アクセスは制限する事ができません。簡単にアクセスされないよう、規則性の無いファイル名でのアップロードを推奨します。