記事No | : 13366 |
投稿日 | : 2014/10/12(Sun) 12:07:24 |
タイトル | : login.cgiのパスワード数 |
ID情報 | : offmiya |
投稿者 | : off-miya |
URL | : http://office-miya.jp/login/ |
いつも大変お世話になっております。
シンプルなログイン方法が気に入ってlogin.cgiを使用させて頂こうと思ってます。
設定などの問題もなく当初の予定通り問題なく動いています。
一つぜいたくなリクエストですが、
ここで複数のパスワードは設定できないでしょうか?
例えばデフォルトである「0123」に加えて「9999」でも入れるように。
可能であればどなたかのお知恵を拝借できませんか?
宜しくお願い致します。
記事No | : 13367 |
投稿日 | : 2014/10/12(Sun) 16:42:33 |
タイトル | : Re: login.cgiのパスワード数 |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
たとえば、カンマで区切って
$cf{password} = '0123,9999';
のように指定するなら、
login.cgi32行目
if ($in{pw} ne $cf{password}) { error("認証できません"); }
を
foreach (split(/,/,$cf{password})) {
if ($in{pw} eq $_) { $ok = 1; last; }
}
if (! $ok) { error("認証できません"); }
のように修正したら、0123、9999どちらでも認証できます。
記事No | : 13369 |
投稿日 | : 2014/10/12(Sun) 17:17:33 |
タイトル | : Re^2: login.cgiのパスワード数 |
ID情報 | : offmiya |
投稿者 | : off-miya |
URL | : http://office-miya.jp/login/ |
> たとえば、カンマで区切って
> $cf{password} = '0123,9999';
> のように指定するなら、
>
> login.cgi32行目
> if ($in{pw} ne $cf{password}) { error("認証できません"); }
> を
> foreach (split(/,/,$cf{password})) {
> if ($in{pw} eq $_) { $ok = 1; last; }
> }
> if (! $ok) { error("認証できません"); }
> のように修正したら、0123、9999どちらでも認証できます。
hirayama様
先日もお世話になりました。
いつもありがとうございます。
今回教えていただいた通りにしたのですが
以下のようなエラーが出てしまいました。
Software error:
Global symbol "$ok" requires explicit package name at login.cgi line 33.
Global symbol "$ok" requires explicit package name at login.cgi line 35.
Execution of login.cgi aborted due to compilation errors.
コピペ間違いかと思い、再度やっても同じでした。
どこが悪いのでしょう??お手数をおかけして申し訳ありません。
記事No | : 13370 |
投稿日 | : 2014/10/12(Sun) 17:41:07 |
タイトル | : Re^3: login.cgiのパスワード数 |
ID情報 | : hirayama |
投稿者 | : hirayama |
URL | : http://shade-search.com/sts/fsw/wiki.cgi |
失礼しました。
use strict; 宣言されているので、
foreach (split(/,/,$cf{password})) {
の前の行に
my $ok = 0;
と追加してください。
記事No | : 13371 |
投稿日 | : 2014/10/12(Sun) 17:52:39 |
タイトル | : Re^4: login.cgiのパスワード数 |
ID情報 | : offmiya |
投稿者 | : off-miya |
URL | : http://office-miya.jp/login/ |
> 失礼しました。
> use strict; 宣言されているので、
>
> foreach (split(/,/,$cf{password})) {
> の前の行に
> my $ok = 0;
> と追加してください。
hirayama様
お教えいただいた通りにしたら完璧にできました。
いつも本当にありがとうございます!!