AlphastarPassport - ドキュメント


プログラム設定


setting.phpをメモ帳などで開いてください。
このファイルが、プログラムの設定ファイルです。
通常、このファイルの、「必ず変更部分を」編集するだけでPawosysは正常に動作します。

説明している順に、ファイルを編集していってください。
PHPに詳しくない方でも分かるように説明していますが、
分かりにくい点がありましたら、遠慮なくご連絡ください。
改善させていただきます。

なお、このプログラムは、Webページを作り、FTPでアップロードできる程度の知識を持っている方を対象としているため、
まったくの初心者が設置するのは難しいかもしれません。
わからない単語があればご連絡いただくか、e-wordsなどで調べることをおすすめします。

管理人データ

管理人のデータを設定します。
ここを正しく設定しないで運用することは、作者により禁止されています。

管理人名 $adminname

管理人の名前を設定します。

書式:
$adminname = "[name]";

[name]に管理人名

例:
$adminname = 太郎";

管理人メールアドレス $adminmail

管理人のメールアドレスを設定します。
このアドレスは、Sendmailでも使用されます。

書式:
$adminmail = "[email]";

[email]にメールアドレス

例:
$adminmail = "example@example.com";

Sendmail使用 $enablesendmail

Sendmailを使用するかどうか設定します。
有効にすると、ユーザの登録を有効にするコードが、ユーザのメールアドレスに送信されます。
これにより、虚偽のメールアドレスを設定されるのを防ぐことができます。
ここを無効にすると、有効化コードは登録申請完了画面に表示されますので、メールアドレスが本物かどうか確かめることはできません。
Sendmailが使えるサーバなら、有効にしておくことを強くお勧めします。
ただし、Sendmailが使用できないサーバで運営する場合にここを有効にすると、ユーザは登録処理を行えなくなりますので、十分注意して設定してください。

書式:
$enablesendmail = [switch];

有効にする場合:[switch]にtrue
無効にする場合:[switch]にfalse

例:
$enablesendmail = true;

status.phpの不使用 $notusestatusphp

通常、クライアント用AlphastarPassportは、サーバサイトにあるstatus.phpにユーザのID情報などを問い合わせることで、ログイン状況を確認しています。
しかし、これはCGIの外部呼出しにあたり、これを禁止しているサーバが存在します。
そこで、ログイン状況を暗号化したテキストファイルを、クライアント用AlphastarPassportが読み出すことにより確認ができる機能を実装してます。
CGIの外部呼出しが禁止されているサーバで運営する場合は、ここを有効にし、status.phpをアップロードしないでください。

もちろんCGIの外部呼出しが許可されているのであれば、status.phpを使う方が効率が良いので、ここは無効に設定し、
status.phpをアップロードしてください。

書式:
$notusestatusphp = [switch];

有効にする場合:[switch]にtrue
無効にする場合:[switch]にfalse

例:
$notusestatusphp = false;
(この設定は、status.phpを使用する設定です)

$notusestatusphp = true;
(この設定は、status.phpを使用しない設定です)

Locationヘッダ使用可否

一部サーバでは、Locationヘッダの使用を禁止している場合があります。
その場合、リンクを張ったHTMLを表示するなどして対応しなければなりません。

Pawosysは、ここの設定を変えるだけで自動的に対応します。
使用されるHTMLは、./html/succeed/login_finished.htmlとlogout_finished.htmlです。
このHTMLファイルにMETAタグを使用すると、自動的にジャンプするブラウザもあります。

すべてのPHPプログラムに広告を張らなければならない場合も、ここの設定をfalseにしなければならないかもしれません。

書式:
$enablelocationheader = [switch];

使用許可にする場合:[switch]にtrue
使用不可にする場合:[switch]にfalse

例:
$enablelocationheader = true;
(この設定は、Locationヘッダを使用する設定です)

$enablelocationheader = false;
(この設定は、Locationヘッダを使用しない設定です)

管理用パスワード $adminpassword

AlphastarPassportの設定のうち、ユーザの編集・削除や連携サイトの登録は、
ブラウザから設定します。
この設定画面にログインするためのパスワードを設定してください。

パスワードがあればユーザのデータを削除できてしまうので、パスワードが他人に知られると非常に危険です。
md5で暗号化(下記参照)して、ここに設定してください。
これで、万が一setting.phpを他人に見られても、パスワードが流出する危険はほぼなくなります。

書式:
$adminpassword = "[password]";

[password]に暗号化したパスワード

例:
$adminpassword = "8eee3efdde1eb6cf6639a58848362bf4";

(「testpw」をパスワードとした場合
「testpw」を暗号化すると8eee3efdde1eb6cf6639a58848362bf4となるので、
上記のようになります
暗号化方法は、下記「md5で暗号化する方法」を参照)

md5で暗号化する方法

md5暗号化用のプログラムがこのAlphastarPassportに、md5_hash.phpとして添付されていますので、
このファイルをサーバにアップロードし、パーミッションを604に設定してください。
このファイルにWebブラウザでアクセスすると、テキストエリアがあらわれます。
ここに暗号化したいパスワードを入力し、OKを押してください。
暗号化したパスワードが表示されます。

また、このPHP版プログラムだけでなく、Perl版も、md5_hash.plとして添付してあります。
ローカル環境でPerlが使える方は、サーバにアップロードしなくても暗号化できます。
コマンドラインなどで暗号化したいパスワードを引数として与えてください。
ex.) c:\alphastarpassport\にAlphastarPassportがあり、パスワード「testpw」を暗号化したいなら、

cd c:\pawosys
perl md5_hash.pl testpw

と実行すると、暗号化されたパスワードが表示されます。

ファイルロック $lock

ファイル書き込み中に、ファイルをロックするかどうかを設定します。
Unix系OSの場合、低い確率ですが、ロックしないとファイルが壊れる可能性があります。
サーバがLinuxなどのUnix系OSを使用している場合、有効に設定します。
Windowsなどの、ファイルロックをサポートしていないOSの場合、無効に設定します。

書式:
$lock = [switch];

有効にする場合:[switch]にtrue
無効にする場合:[switch]にfalse

例:
$lock = True;

index.phpのURL $thisname

index.phpのURLを指定します。
ここで指定したアドレスは、Locationヘッダでジャンプするときに使います。
間違いなく設定しないと、正常に動作しません。

書式:
$thisname = "[url]";

[url]にindex.phpのURLを設定

例:
$thisname = "http://nowhere.com/pawosys/index.php";

追加入力項目設定

項目名 $adddatalist

AlphastarPassportは、新規ユーザ登録時に、
ID・パスワード・名前・e-mailアドレス・パスワードリマインダー用質問・秘密の答え
を必須項目として入力させますが、
それ以外になにか情報を入力させたい場合は、ここで「追加項目」として設定することができます。
array()の中に、「,」区切りで項目名を指定します。
追加項目は、いくつでも設定できます。
項目名は「id,pw,mode,site,newpw,logpw,name,mail,ques,ans」や、自分で設定したものと重ならない半角英数字を指定します。
ここの項目名は、項目の識別に使うものですから、管理者だけがわかれば問題ありません。
ここで設定を変更した場合、「HTMLファイルの設定」を参照して、別途HTMLも編集する必要があります。

書式:
$adddatalist = array("[name1]", "[name2]", ...);

[name1],[name2],...
に項目名を設定

例:
$adddatalist = array("age", "long");
$addrequired = array(True, False);

$addrequiredは、下記「入力必須項目設定」参照

必須項目 $addrequired

追加入力項目設定で設定した項目を、「入力必須」にするかどうかを設定します。
同じくarray()のなかに、「,」区切りで、追加入力項目設定に対応させて設定します。
入力必須にするなら、True、入力任意にするならFalseを設定します(""は必要ありません)。

書式:
$addrequired = array([switch1], [switch2], ...);

入力必須にする場合:[switch1],[switch2],... にtrue
入力必須にしない場合:[switch1],[switch2],... にfalse

例:
$adddatalist = array("age", "long");
$addrequired = array(True, False);

$adddatalistは、上記「追加入力項目設定」参照

追加項目未入力エラー $error

$error["[項目名]_unset"]にエラーメッセージを指定します。
このメッセージは、追加項目で入力必須に設定されている項目に
何も入力しなかった場合に表示されるエラーメッセージです。

書式:
$error["[name]_unset"] = "[errormessage]";

[name]に追加項目名、[errormessage]にエラーメッセージ

例:
$adddatalist = array("age", "long");
$addrequired = array(True, True);
$error["age_unset"] = "年齢が入力されていません";
$error["long_unset"] = "使用歴が入力されていません";

$adddatalistは、上記「追加入力項目設定」参照
$addrequiredは、上記「入力必須項目設定」参照

その他設定項目

ほかにも、setting.phpには多くの設定項目があります。
残りは、通常は変更する必要のないものばかりですが、
どうしても変更する場合、setting.php内のコメントを参照してください。