連絡ボード

松阪大学の 学内連絡 (ここは学内からしか見えません) のようなものを作る方法です。 パスワード確認のため /etc/shadow ファイルを参照しなければならず, スーパーユーザでしか作ることができません(setuid root します)。

ソース msgboard.cc をコンパイルします:

% g++ -Wall -O msgboard.cc -o msgboard.cgi
% su
# chown root msgboard.cgi
# chmod 4755 msgboard.cgi

メッセージの入るファイル index.html はあらかじめ次のように作っておきます:

<meta name="robots" content="noindex,nofollow">
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<meta http-equiv="Pragma" content="no-cache">
<title>学内連絡</title>
<h1>学内連絡</h1>
<p><a href="post.html">[書き込み/消去]</a>
<hr>

この index.html とそれが入っているディレクトリは Web サーバプロセスに書き込み権を与えておきます (たとえば www というユーザ権限で Apache を動かしているなら index.html とディレクトリは www の持ち物にしておきます)。

また,post.html はたとえば次のように作っておきます:

<meta name="robots" content="noindex,nofollow">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>書き込み/消去</title>
<h1>書き込み/消去</h1>
<p>
<form action="msgboard.cgi" method="post">
<p>ユーザ名(ID): <input type="text" name="user" size=10>
<p>パスワード: <input type="password" name="pass" size=10>
<p>消去メッセージ番号: <input type="text" name="delnum" size=10>
<p>メッセージ: <input type="text" name="message" size=80>
<p>
<input type="submit" value="送る">
<input type="reset" value="やりなおし">
</form>

リンクはご自由にどうぞ。

松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp

Last modified: Thu Dec 16 22:13:27 1999