KENT-WEB サポートコーナー 過去ログ [ 0292 ]


記事No: 8009
投稿日: 2010/10/09(Sat) 23:39:14
タイトル今度は(CosmoGateの)パスワード管理の件です
ID情報: sintyan
投稿者: sintyan
URLhttp://www.oomicure.com/oomi/gate.cgi

従来使っている、患者様のIDパスワードを使って、買物かごにアクセスさせたいと考えています、そのファイルの形式は、通し番号,ID,PW,HANDLE,性別,誕生日,登録日,e-mail,の形式で格納されています、この形式のID、PWの部分を読込アクセスできるようにしたいのですが、どうすればいいでしょうか・・・

僕的には、以下をいじればなんとかなるんだろうなーっとは思うのですけど・・・・

#-------------------------------------------------
# PASS認証
#-------------------------------------------------
sub pass_chk {
# 入力チェック
if ($in{'pw'} eq "") { &error("PASSWORDが入力されていません"); }

# ファイルオープン
local($flg,$id,$pw);
open(IN,"$pwdfile");
while(<IN>) {
($flg,$id,$pw) = split(/:/);

# ID一致
if ($in{'id'} eq $id) {
$flg = 1;
$pw =~ s/\n//;
last;
}
}
close(IN);

# ID該当なしまたは不照合はエラー
if (!$flg) { &pass_error; }
elsif &decrypt($in{'pw'}, $pw) != 1) { &pass_error; }

# ID/PASS情報をクッキー格納
if ($in{'cook'} == 1) {
&set_cookie($in{'id'}, $in{'pw'});
} else {
&set_cookie();
}
}


記事No: 8010
投稿日: 2010/10/10(Sun) 08:32:01
タイトルRe: 今度は(CosmoGateの)パスワード管理の件です
ID情報: Fuyuki
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> 従来使っている、患者様のIDパスワードを使って、買物かごにアクセスさせたいと考えています、そのファイルの形式は、通し番号,ID,PW,HANDLE,性別,誕生日,登録日,e-mail,の形式で格納されています、この形式のID、PWの部分を読込アクセスできるようにしたいのですが、どうすればいいでしょうか・・・
>
> 僕的には、以下をいじればなんとかなるんだろうなーっとは思うのですけど・・・・
>
> #-------------------------------------------------
> # PASS認証
> #-------------------------------------------------
> sub pass_chk {
> # 入力チェック
> if ($in{'pw'} eq "") { &error("PASSWORDが入力されていません"); }
>
> # ファイルオープン
> local($flg,$id,$pw);
> open(IN,"$pwdfile");
> while(<IN>) {
> ($flg,$id,$pw) = split(/:/);


「:」の部分はログファイルを区切っている記号に変更してください。

($no,$id,$pw) = split(/:/);


記事No: 8016
投稿日: 2010/10/13(Wed) 10:34:34
タイトルRe^2: 今度は(CosmoGateの)パスワード管理の件です
ID情報: sintyan
投稿者: sintyan
URLhttp://www.oomicure.com/oomi/gate.cgi


> 「:」の部分はログファイルを区切っている記号に変更してください。
>
> ($no,$id,$pw) = split(/:/);

BALさんいつもありがとうございます。長い年月CGIのカスタマイズをしてきましたが、多分BALさんからしたらとても簡単なことが僕には理解できていないようです 申し訳ございませんが、区切っている記号というのは、カンマですから split(/,/);
←こういう意味でしょうか、やってみたのですが、やはりパスワードエラーでページが遷移されません。 

再度御教示いただければ幸いです。


記事No: 8017
投稿日: 2010/10/13(Wed) 18:51:29
タイトルRe^3: 今度は(CosmoGateの)パスワード管理の件です
ID情報: Fuyuki
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

>
> > 「:」の部分はログファイルを区切っている記号に変更してください。
> >
> > ($no,$id,$pw) = split(/:/);
>
> BALさんいつもありがとうございます。長い年月CGIのカスタマイズをしてきましたが、多分BALさんからしたらとても簡単なことが僕には理解できていないようです 申し訳ございませんが、区切っている記号というのは、カンマですから split(/,/);
> ←こういう意味でしょうか、やってみたのですが、やはりパスワードエラーでページが遷移されません。 
>
> 再度御教示いただければ幸いです。


通し番号,ID,PW,HANDLE,性別,誕生日,登録日,e-mail
通し番号,ID,PW,HANDLE,性別,誕生日,登録日,e-mail
通し番号,ID,PW,HANDLE,性別,誕生日,登録日,e-mail

データファイルの末尾が改行されてパスワードが暗号化されていればこれで作動するはずです。

($no,$id,$pw) = split(/,/);

パスワードが生のままであれば以下の修正を

#-------------------------------------------------
# PASS認証
#-------------------------------------------------

# ID該当なしまたは不照合はエラー
if (!$flg) { &pass_error; }
elsif (&decrypt($in{'pw'}, $pw) != 1) { &pass_error; }

        ↓

# ID該当なしまたは不照合はエラー
if (!$flg) { &pass_error; }
elsif ($in{'pw'} ne $pw){ &pass_error; }




記事No: 8018
投稿日: 2010/10/13(Wed) 21:23:14
タイトルRe^4: 今度は(CosmoGateの)パスワード管理の件です
ID情報: sintyan
投稿者: sintyan
URLhttp://www.oomicure.com/oomi/gate.cgi

> パスワードが生のままであれば以下の修正を
>
> #-------------------------------------------------
> # PASS認証
> #-------------------------------------------------
>
> # ID該当なしまたは不照合はエラー
> if (!$flg) { &pass_error; }
> elsif (&decrypt($in{'pw'}, $pw) != 1) { &pass_error; }
>
>         ↓
>
> # ID該当なしまたは不照合はエラー
> if (!$flg) { &pass_error; }
> elsif ($in{'pw'} ne $pw){ &pass_error; }

BALさんには脱帽です、僕も 生パスなんで &decrypt はいらないだろうと思ってましたが、($no,$id,$pw) = split(/,/);とelsif ($in{'pw'} ne $pw){ &pass_error; }にする能力を持ち合わせてないので、無限ループにはまってました

ちなみにこの際なので教えて頂ければ幸いなのですが、
split(/,/); はカンマ区切りを意味してるのですか?他には
どんな区切りかあるのですか?

それと、$in{'pw'} ne $pw){ &pass_error; } の間のneの意味を
教えて頂けると有り難いです

それと言い遅れましたが、もちろんCGIは希望通り動いてくれて
助かってます。 本当BALさんには感謝です。




記事No: 8019
投稿日: 2010/10/13(Wed) 23:03:34
タイトルRe^5: 今度は(CosmoGateの)パスワード管理の件です
ID情報: Fuyuki
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

> ちなみにこの際なので教えて頂ければ幸いなのですが、
> split(/,/); はカンマ区切りを意味してるのですか?他には
> どんな区切りかあるのですか?


その他には「:」「<>」「=」などがあります。

> それと、$in{'pw'} ne $pw){ &pass_error; } の間のneの意味を
> 教えて頂けると有り難いです

「異なる」を意味します。


記事No: 8020
投稿日: 2010/10/13(Wed) 23:08:50
タイトルRe^6: 今度は(CosmoGateの)パスワード管理の件です
ID情報: sintyan
投稿者: sintyan
URLhttp://www.oomicure.com/oomi/gate.cgi

> その他には「:」「<>」「=」などがあります。
>
> > それと、$in{'pw'} ne $pw){ &pass_error; } の間のneの意味を
> > 教えて頂けると有り難いです
>
> 「異なる」を意味します。

滅茶苦茶勉強になります!  本当頼ってばかりですみません
感謝という言葉しか言えません。 ありがとうございます!!


[検索ページ]