2012-01-10 11 views
0

を守る私は単純化に出くわしますが、パスワードに有用な方法は、こちらのページを保護する: Pop up password protectASPパスワードが改善

ここでは、コードです:

<% 

needAuthentication = True 

If Request.Form.Count > 0 Then 
    If Request.Form("username") <> "jon" Or Request.Form("password") <> "secret" Then 
     ' Redirect to another URI 
     Response.Redirect("/") 
     Response.End 
    End If 
    needAuthentication = False 
End If 

%> 
<html> 
<body> 
<% 

If needAuthentication Then 

%> 
<form method="post" action="thenameofthepage.asp"> 
    <div>Username: <input type="text" name="username" /></div> 
    <div>Password: <input type="text" name="password" /></div> 
    <div><input type="submit" value="Submit" /></div> 
</form> 
<% 

Else 

%> 
<p>Page content here</p> 
<% 

End If 

%> 
</body> 
</html> 

つの質問: 1)どのように向上させることができますが、これはパスワードが失敗したときに「Login Failed」というアラートボックスを呼び出してフォームをリセットします。 2)これはどれくらい安全ですか?セキュリティを向上させるASPの方法はありますか?

いくつかのメモ: データベースは関係ありません - これは1つのグローバルパスワードで保護されたページです。 あなたがまだわからないのなら、私のASPスキルは存在しません。前もって感謝します。

UPDATE:あなたのようなものだろう

<% 
needAuthentication = True 
authenticationFailed = False 

If Request.Form.Count > 0 Then 
    If Request.Form("password") <> "secret" Then 
     authenticationFailed = True 
    End If 
    needAuthentication = False 
End If 

%> 


<html> 
<body> 

<% 
If needAuthentication Then 

%> 

<form method="post" action="passwordtest.asp"> 
    <div>Password: <input type="text" name="password" /></div> 
    <div><input type="submit" value="Submit" /></div> 
</form> 

<% 
Else 

%> 

<p>Page content here</p> 

<% 
End If 

%> 

<% 
If authenticationFailed Then 

%> 

<script type="text/javascript"> 
    alert("Invalid login"); 
</script> 

<% 
End If 
%> 

</body> 
</html> 
+0

パスワードに失敗したらどういう意味ですか?ユーザーのログインIDが「jon」でパスワードが「secret」ではない場合 –

+0

正しい。誤ったパスワードが入力されました。私はユーザーについて考えることさえしなかった - 私は実際には "username"なしでこれを使うつもりです。 –

答えて

0

(アラートがとにかく失敗したログインが、ページのコンテンツのロードでの作業):

authenticationFailed = False

をそしてあなたの文のElseセクションでは、 authenticationFailed = Trueを設定します。

<% 

If authenticationFailed Then 

%> 
<script type="text/javascript"> 
    alert("Invalid login"); 
</script> 
<% 

セキュリティは、多くの要素があります。

は、その後、あなたのページのようなものを持っています。パスワードを秘密にしておくことができ、誰もこのファイルを手に入れることができないと仮定すると、HTTPSを使用してサイトにアクセスする限り、大丈夫です:) - そこには多くの "ifs"があったことに注意してください。

セキュリティについて詳しく知りたい場合は、その件名をグーグルで検索することをおすすめします。セキュリティは、使用しているテクノロジに直接関係していますが、さまざまなテクノロジが独自の方法で簡単に作業を行います。

もう1つ - このログイン方法では、保護されたページにアクセスするたびにログインする必要があります。期待通りにそれを覚えていません。あなたはそのためのセッションを調査する必要があります - それはすべてそれ自身のトピックです:http://www.w3schools.com/ASP/asp_sessions.asp

+0

これに感謝しますが、何かが正しくない - 私はページをロードしようとすると500の内部サーバーエラーが発生します。 –

+0

それはおそらくEnd Ifが欠落しています - 私はあなたにアイデアを発射していました - 構文などが正しいことを確認する必要があります。 Classic ASPを使用して以来、何年も経っており、私はVBユーザーになれませんでした。 –

+0

私は 警告( "無効なログイン") ます。 ' 形式のマークアップ –