【 同梱ファイルとパーミッション 】
▼ Certification Key Form library
CKForm.pl [644] (本体)
CertKey.cgi [755] (キー画像プリントCGI)
CKFSample.cgi [755] ( CKForm.pl 埋め込み記述方法サンプルCGI)
.htaccess [644] (plファイルをWEB上から見えなくする為に設置)
・連結用サンプル画像
▽ ImageMagic用 ▽ gifcat.pl用
img_0.png 〜img_9.png、img_0.gif〜img_9.gif [644]
img_A.png 〜img_Z.png、img_A.gif〜img_Z.gif [644]
※ 英数字での区別しずらい、img_I.xxx img_O.xxx は含んでいません。
・エラー画像
__cookie.png [644] (クッキーエラー画像)
__file0.png [644] (ファイルプリントエラー画像)
__file1.png [644] (ファイルオープンエラー画像)
__file2.png [644] (ファイルオープンエラー画像)
__GCpl.png [644] (認証キー発行フラグファイルエラー画像)
__img.png [644] (画像連結エラー画像)
__IMpm.png [644] (ImageMagicモジュールエラー画像)
__lib.png [644] (ライブラリファイルエラー画像)
gifcat.pl [644] ( GIFファイル連結ライブラリ [ 著作権 とほほさん ] )
gifcat_readme.txt ( GIFファイル連結ライブラリ readme )
readme.txt (説明ファイル)
【 設置説明 】
● 設定例
1. CGIと同じディレクトリー設置 (CGIの設置がcgi-bin等)
WWW
|− cgi [755]
| |
| |-- img
| | |
| | 連結用サンプル画像、エラー画像
| |
| |-- lib
| | |
| | CKForm.pl [644]
| | gifcat.pl [644] (GIFファイル連結ライブラリ利用時)
| |
| |-- tmp
| | |
| | 認証キー発行フラグファイル(自動育成)
|
| CertKey.cgi [755]
| CKFSample.cgi [755]
| .htaccess [644]
ホームページディレクトリが「WWW」だと仮定し、使用するCGIを xxxxx.cgiとしたとします。
(.htaccessの格納はcgi-binなどに指定されている場合は通常不要)。
2. CGIより上の層に設置 (WEBより見えない階層)
|− cgi-data [755]
| |
| |-- img
| | |
| | 連結用サンプル画像、エラー画像
| |
| |-- lib
| | |
| | CKForm.pl [644]
| | gifcat.pl [644] (GIFファイル連結ライブラリ利用時)
| |
| |-- tmp
| | |
| | 認証キー発行フラグファイル(自動育成)
|
|− WWW
| |---- cgi [755]
| |
| CKFSample.cgi [755]
※ この場合、.htaccessは不要です。
【 各設定について 】
● 使用例
require 'CKForm.pl';
------------------
1. 認証キー発行
------------------
A) 認証キー発行ファイル処理
$FileKey = CKForm::CertFilePrint();
戻り値 => フラグファイルキー名
( エラー時 [ ERROR : XXXX ] 例 : $ERROR = $FileKey if $FileKey =~ /^ERROR/; )
CertFilePrint($filekey, $str);
※ 第1引数 認証キー発行の際のフラグファイル名の
ランダム列部分(ファイルキー)を別指定したい場合に指定。
※ 第2引数 認証キー発行の際のフラグファイル名の
ランダム列部分(ファイルキー)に付加指定したい場合に指定。
B) 認証キー画像発行処理 ( 2重送信防止のみ利用の際は A) のみで、ここの B) は不要 )
$CertiKey = CKForm::CertImgPrint();
戻り値 => 認証キー( 画像と入力フォーム )
( エラー時 [ ERROR : XXXX ] 例 : $ERROR = $CertiKey if $CertiKey =~ /^ERROR/; )
CertImgPrint($FROM{'filekey'} or $FileKey, 0 or 1 or 2, $str);
※ 第1引数 A)を前頁にて記述した場合、前項より送信されて来た$FROM{'filekey'}を指定。
( 個人設定でクッキー必至指定の際は特に必要なし )
※ 第2引数 ここの指定で、A)の認証キー発行ファイル処理記述を省略できます。
・通常通りA)の記述をする場合 [ 0 ]
・A)でのフラグファイル育成を認証キー画像発行と一緒に行う場合 [ 1 ]
・その際、Content-type プリント後での記述の場合 [ 2 ]
(クッキー書き込みがある為、これを回避)
※ 第3引数 A)の第2引数で付加した$strを指定。
---------------------
2. 認証キーチェック
---------------------
($Error = CKForm::CertKeyCheck($FROM{'filekey'}, $FROM{'certkey'}, [ 0 or 1 ]);
※ 第1引数 前項フォームより送信されて来た$FROM{'filekey'}を指定。
( 個人設定でクッキー必至指定の際は特に必要なし )
※ 第2引数 認証キー入力フォームより送信されて来た$FROM{'certkey'}を指定。
( フォーム名 [ certkey ] で送信されます。)
※ 第3引数 2重送信防止のみ利用の場合 [ 1 ] を指定。
-------------------------------
3. フラグファイルランダムキー育成
-------------------------------
$FileKey = CKForm::RandomStr([-1 or 0 or 1 ], 桁数);
※ 第1引数 [ 英数字(大小文字区別あり) : -1 英数字(大小文字区別なし) : 1 数字のみ : 0 ]
※ 第2引数 [ 桁数 ]