Perl Script Laboratory

Web Mailing List v0.31

管理者向けの利用ガイド

メールフッタの設定の変更について

v0.24より、配信メールに差し込まれる新規/返信メールフォームへの直リンクのID/パスワードを、暗号化して1つの文字列にしたものを指定するように改良しました。今までの指定方法のままでも動作しますが、IDとパスワードがそのままURLの一部としてネット上をやりとりされてしまうため、旧バージョンをお使いの方は設定の変更をしてください。

[設定の変更箇所]
「システム設定」の「(11)メールフッタ指定」で、
##ml_dir##/ml_post.cgi?res=##ml_cnt##&id=##id##&passwd=##passwd##
##ml_dir##/ml_post.cgi?&id=##id##&passwd=##passwd##
と指定していたものを、
##ml_dir##/ml_post.cgi?res=##ml_cnt##&idpw=##idpw##
##ml_dir##/ml_post.cgi?&idpw=##idpw##
のように変更してください。

このシステムの一部機能を使えないようにするには

過去の投稿記事を取り寄せる機能、このメーリングリストで購読者が投稿する機能は、「システム設定」の (5)パラメータ設定で使用できないようにすることができます。使用できないように設定すると、 ml.cgi のメニューから、該当するサービスのリンクが非表示になります。また、URL直接指定で実行しようとしても、処理が進まないようになっています。メルマガシステムとして使う場合は、必要のない処理をするプログラム(ml_getarc.cgi、ml_post.cgi)をサーバ上に置かずに運用してください。

ログインのしくみについて

このシステムは、ログイン時にIDをクッキーとして保存することで、ログインが必要なプログラムはすべてIDがクッキーに書かれているかを見て判定しています。クッキーは有効期限をつけずに発行しているため、ローカルディスクには書き込まれず、ブラウザを終了するたびに消滅します。管理者用のパスワードのクッキーと一般ユーザー用のクッキーは区別されますので、同時ログインの状態が可能です。現状では、複数の一般ユーザーのアカウントで同時ログインしたり、ログインIDを切り替えたりすることができません。ログインIDを切り替えるには、ブラウザの再起動が必要です。

メールアドレスの重複について

このシステムでは、同じメールアドレスで複数のアカウントを持つことはできません。

いたずら登録防止について

このシステムは、だれかが他人のメールアドレスをいたずらで登録してしまうのを防ぐために、登録フォームに入力されたアドレスを直接登録せずに、いったんそのアドレスに仮登録メールを送ります。そのメールに書かれたURLにアクセスして処理を続けることで正式に登録できるようになります。これは配信先の変更をする場合でも同様の手続きが必要です。こうすることで、いたずらによる登録を抑止できます。

セキュリティについて

クロスサイトスクリプティングに対する対策をしました。また、配信されたメールに付加される、新規投稿/返信フォームへのURLに含まれるログイン情報を暗号化したため(※1)、IDとパスワードが直接露出することはなくなりました。送信者のREMOTE_HOSTおよびUSER_AGENTがメールのヘッダとして送られます(以上v0.24より)。
投稿ファイル、メンバーファイル、署名ファイル、管理者のパスワードファイルは、Webサーバが取り出せる位置に設置するため、通常のテキストファイルのままだとURLさえ分かれば見えてしまいます。それを防ぐため、拡張子を .cgi にすることで、ファイルの中身をWebサーバ経由で見えないようにしています(※2)。それでも複数のユーザーで1つのサーバを共用する環境の場合、他のユーザーがそれらのファイルをFTP経由などで盗み見ることができる場合がありますので、あらかじめご承知ください。

※1…暗号は復号可能なもので、簡易なものです。
※2….htaccessの設定が有効なサーバであれば、memberディレクトリ内に
deny from all
の1行を書いた.htaccessを設置することで、Web経由での閲覧ができなくなります。

登録内容を初期化するには

登録内容をすべて消去するには、以下の手順を行なってください。

  • tempmemberpostpost/attachsign ディレクトリの中のすべてのファイルを削除する
  • ml_memcnt.txtml_postcnt.txtml_admin_passwd.cgi を空のファイルに差し替える

管理パスワードを忘れてしまった場合は、ml_admin_passwd.cgi の中身を空にしてサーバに置いてから 12345 でログインしてください。ログイン後すぐにパスワードを変更をしてください。

アーカイブの管理について

このシステムではサーバ上に投稿されたすべての記事が記録されていきます。プレーンテキストのままで保存されるので、ディスクスペースを圧迫するかもしれません。その時は適宜古い記事から削除してください。このファイルは登録者のアーカイブの取得に使われているものですので、削除してしまうとその記事についてはアーカイブの取得ができなくなります。

v0.24→v0.3設定ファイル変換方法

v0.3より設定ファイル(ml_conf.pl)をシステムが自動生成するため、従来の設定ファイルを変換するプログラムを用意しました。

  • 上記アーカイブ同梱のml_confconv.cgi をサーバ上の ml_conf.pl のあるディレクトリに置きます。
  • 読み込む設定ファイルを ml_conf_org.pl という名前に変更してサーバに置いてください。
  • ml_confconv.cgi を実行すると、mk_conf.pl が生成されます。

制限事項について

このシステムでは fork() を使うことにより、メール送信をバックグラウンドで実行しています。したがって、CGIプログラムの実行時間に制限をかけている(一定時間を経過すると強制終了させてしまうなど)ようなサーバではお使いになれません。