2016-04-05 6 views
1

私はASP.NET Loginコントロールについて簡単に質問しています。ASP.NETログイン制御 - 認証イベントでSQLiから保護しますか?

私はそれがSQL Injectionから保護されていることを理解していますが、私はAuthenticateサブ(カスタム認証メソッド用)を使用すると保護しているのだろうか?

SQL文で 'username'と 'password'をパラメータとして使用せずに使用できますか?乾杯。

+0

メンバーシッププロバイダ、IDなどを使用しない限り、ログインコントロールはSQLインジェクションを保護しません。コードを投稿してください。 – Win

+0

ご返信ありがとうございます。はい、メンバーシップを使用しています。私の唯一の懸案事項は、 "Authenticate"サブが実行される前に入力がチェックされていないことです。 このステートメントが "Authenticate"であれば、安全ではありませんか? SELECT * FROM aspnet_Membership as INNER JOIN aspnet_Users AS B ON A.UserId = B.UserId WHERE B.UserName = '"&Login1.UserName & "'AND A.Password ='"&Login1.Password & "'; " – user3173098

+0

最後の投稿を簡略化するために、SQL文字列内のLogin1.UsernameとLogin1.Passwordを連結することは安全ですか? ( "Authenticate"サブが実行される前に検証されていますか?) – user3173098

答えて

1

SELECT * FROM aspnet_Membership INNERが A.UserId = B.UserId B.UserName = ' "& Login1.UserName &"' AND A.Password =「」& Login1 ON aspnet_Users AS BのJOIN ASみましょう。パスワード&「';」。。SQLステートメントの上

は安全ではありませんそれは、SQLインジェクション攻撃を受けやすいあなたはパラメータ化クエリを使用したい

例えば、

0123。
+0

これはありがとうございます。私はパラメータに取り組むつもりです:) – user3173098

関連する問題