2011-09-16 17 views
0

一度だけ知りたいログイン後のセッションとハッキングの可能性

古典的なASPで!私はこの

<form action="login.asp" method="post"> 
<input type="text" name="username" value="" /> 
<input type="password" name="password" value="" /> 
</form> 

ように、私がチェックlogin.aspページ内のフォームを持っている場合は、ユーザー名とパスワードが正しいかどう

私はセッションに(「LOGGEDIN」)

、値を与えます永遠に私はそのセッションとその値を確認します

私の質問 - これは、最も一般的な安全なことですか?または私は何かが恋しい?

答えて

0

これはかなり標準ですが、より良いセキュリティのためにSSLを併用することができます。また、ユーザーのIPアドレスと他の秘密値のハッシュである別のセッション値/ Cookieを持ち、各要求のIPアドレスを確認することもできます。私は最終的に.NETに移動しています

+0

2つの質問:サーバーセッション変数のハイジャックやハックはどうですか?秒:私はフォームで彼のIPを持っているし、私はハッシュとしてサーバー側でチェック - それは常に同じではないでしょうか? –

+0

はいIPは同じですが、リモートIPを秘密の値とともにハッシュすると、攻撃者は秘密の値を知らずにその値を偽装することはできません。 SSLはハイジャックを防ぐのに役立ちます。真ん中またはネットワーク上の何もないと、ブラウザのトラフィックを簡単に傍受して値を見ることができます。 – drew010

+0

あなたは私にそのIPと秘密の価値の組み合わせの例を教えてもらえますか? –

0

(良い面と悪い...私はクラシックASPを愛した)が、私はそれを管理しやすくするために従来のASPでそれを取り扱う方法です:

はこのように、インクルードファイルを作成します。

if (nz(session("users.userid"))=0) then 
    'PUT YOUR LOGIN CODE HERE 
    session("users.userid") = userId 
else 
    'CODE TO DISPLAY LOGIN FORM 
    response.end 
end if 

安全であるべきすべてのページの先頭にこれを含めます。ログインしていなければ、ログインフォームがスローされます。明らかにこれをこれよりも有用にすることができますが、これは私がそれを説明できるほど明確です。

関連する問題