クラウドで 伸びる人沈む人 |
|
|
|
パスワードをCGIで暗号化する
<IT技術の処方箋:パスワードをCGIで暗号化する> .htaccessや.htpasswdなどを利用して、 暗号化したパスワードを作成する場合があります。 暗号化したパスワードは、CGI(Perl)で作成するのが簡単ですね。 以下のCGIを参考にして解説します。 #!/usr/bin/perl $pswd="pass"; $salt="12"; $crypt_pswd = crypt($pswd,$salt); print "$crypt_pswd\n"; ●実行すると、passを暗号化したものが表示されます。 暗号化キーは、$salt= 12となります。 この暗号化キーが同じだと、 基本的にどのマシンでつくっても毎回同じ暗号になります。 セキュリティを高めるためには、暗号化キーを乱数にしたほうがいいでしょう。 以下のような関数を使ってみましょう。 #!/usr/bin/perl $pswd="pass"; $salt = &get_salt; $crypt_pswd = crypt($pswd,$salt); print "$crypt_pswd\n"; sub get_salt { my(@s_set)=('a'..'z','A'..'Z','0'..'9','.','/'); srand; my($s1) = int(rand(64)); my($s2) = int(rand(64)); my($salt) = $s_set[$s1] . $s_set[$s2]; return $salt; } ●実行すると、毎回違う暗号になりますね。 こちらを使ったほうが安全です。 ●参考 特定のファイル(拡張子)へアクセス不可とする http://www.searchman.info/tips/2180.html パスワードをCGIで暗号化する http://www.searchman.info/tips/2190.html 特定のディレクトリへのアクセス制限 http://www.searchman.info/tips/2200.html
慣れてきましたか?慣れてきたら、
Perl(CGI)の間違いを簡単に見つける というレポートも見ましょう |