プロが教えるわが家の防犯対策術!

Perlプログラムにおいて、入力されたパスワードをif文で比較させたい。

今、Perlプログラムを使ってホームページでクイズを作成中です。
そこで、教えて頂きたいのですが、ホームページに入れる人は、事前に通知した人にのみで、パスワード入力をしてもらう方式にしたいと思っています。
パスワードも一人一人に違うものではなく、3種類程度を考えています。
Perlプログラムの中に if ($passwd eq '1234') 程度に考えています。
でも、Perlプログラムソースを見られたら一目瞭然で判ってしまいます。
プロバイダはniftyで、index.cgiのファイル名にします。

基本的な質問で恐縮ですが、もっと良い方法、注意しないといけない点、などを教えて下さい。

A 回答 (4件)

まず基本的な理解として


perlファイルはApacheやIISなどのHTTPサーバーソフトによって
ActivePerl等に送られインタプリタ処理されます。

つまりすべてサーバー上での処理になりますので
perlのプログラムソースを見られる危険性はありません。
あくまでHTMLがクイズをしている人に戻るだけなのです。

パスワードの方法としてはHTTPリクエスト等の
機能を使う方法がありますが、別途知識が必要です。

まとめると
いま質問主様が行っている方法で十分だと思います。
ただしブラウザからどの文字コードで文字が送られてくるか
わからないので、一応文字コードは統一しておくべきでしょう。
    • good
    • 0
この回答へのお礼

回答を頂き、ありがとうございました。
niftyのサーバーにアップしたソースプログラムを悪意の人に読まれはしないかと思っていました。
cryptを使う方法も有るようですが、先ずはプログラム内での「if文」で対応しようと思います。

ありがとうございました!

お礼日時:2010/02/16 23:10

Perlスクリプトは実行ファイルなので、その内容を利用者が読むことはできません。


ただ、パスワードを別ファイルにテキスト形式で保存してしまうと、それは読まれる可能性があります。
そこで、サーバーが持つパスワード生成コマンド(cript)などを使って、暗号化した状態で保存します。
ユーザーが登録すると、ユーザー名、IPアドレス、パスワード再発行用質問と答え、パスワードを簡単なデータベース(必要なものはcriptなどで暗号化)として保存しておき、ログインのときに認証する。その後はCookieを使ってログイン状態を保存しておく。
 という手法をとるのが一般的です。
 掲示板などのCGIを探せば、ほとんどのものについているのでそれを流用するのが良いでしょう。
    • good
    • 0
この回答へのお礼

ご親切な回答を頂き、ありがとうございました。
頂いた「cript」方式は、もう少し高等なプログラムを作ったときに使わせて頂きます。今回は「if文」で対応することにします。

ありがとうございました。

お礼日時:2010/02/16 23:18

BASIC認証が使えるサーバであれば


それを使えばよいでしょう。

○基本認証でアクセス制限をかける方法
http://allabout.co.jp/internet/hpcreate/closeup/ …
    • good
    • 0
この回答へのお礼

回答を頂き、ありがとうございました。
頂いた「基本認証」方式は私には少々重いので、先ずは「if文」で対応することにしました。

ありがとうございました。

お礼日時:2010/02/16 23:13
    • good
    • 0
この回答へのお礼

回答を頂き、ありがとうございました。
先ずは「if文」で対応することにしました。

ありがとうございました。

お礼日時:2010/02/16 23:14

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!