موقع جزئي SSL باستخدام التحكم في تسجيل الدخول إلى asp.net

أحاول تحويل نظام تسجيل دخول محلي إلى عنصر تحكم تسجيل الدخول إلى asp.net القياسي المتضمن في .net. أريد جميع الاتصالات على الموقع الإلكتروني لمستخدم لم يسجل دخوله بنص واضح ، ولكن قفل كل شيء في طبقة المقابس الآمنة بمجرد دخول المستخدم - بما في ذلك إرسال اسم المستخدم وكلمة المرور.

كان لي هذا العمل من قبل عن طريق تحميل صفحة ثانية - "loginaction.aspx" - مع https: البادئة ، ثم سحب اسم المستخدم وكلمة المرور عن طريق البحث عن عناصر تحكم مربع النص المناسبة في Request.Form.Keys. هل هناك طريقة لفعل شيء مماثل باستخدام عناصر تحكم تسجيل الدخول إلى .net؟ أنا لا أريد أن يكون لديك صفحة تسجيل دخول منفصلة ، ولكن بدلا من ذلك تشمل هذه السيطرة (داخل تسجيل الدخول) على كل صفحة على الموقع.

0
وأضاف
الآراء: 1

3 إجابة

لن تتمكن من تنفيذ ما تتحدث عنه ببساطة ، لأن إعادة النشر (وهو ما يستخدمه عنصر التحكم في تسجيل الدخول) سيكون مهما كان أمان الصفحة (SSL أو عدم SSL).

أفضل رهان لك في هذا السيناريو هو استخدام IFRAME الذي يحتوي على صفحة HTTPS (SSL) تحتوي فقط على عنصر التحكم في thelogin. قد تضطر إلى إعادة التوجيه إلى صفحة أخرى بعد تسجيل الدخول تتيح لك القفز من IFRAME.

ستكون الخطة B أن يكون لها نموذج منفصل على الصفحة (خارج النموذج الرئيسي) الذي يحتوي على خاصية الملكية ACTION إلى صفحة أخرى حيث تقوم بالتعامل مع تسجيل الدخول. سيكون عليك تدوين رمز تسجيل الدخول الخاص بك للتعامل مع مصادقة النماذج.

0
وأضاف
يجب أن تدرك أن استخدام أي من هذه التقنيات لا يزال غير آمن ، حيث أنه عرضة لرجل في الهجوم الأوسط. لمزيد من المعلومات ، اقرأ هذا. jlorenzen.blogspot.com/2009/11/&hellip؛</و>
وأضاف المؤلف Erik Funkenbusch, مصدر

لن تكون قادرًا على جعل موقعك على الويب غير SSL ، مع وجود مربع تسجيل دخول في كل صفحة ، ثم تقديم اسم المستخدم وكلمة المرور عبر SSL.

الطريقة الوحيدة لإنجاز هذا هو استخدام إطارات من نوع ما. بهذه الطريقة قد تكون الصفحة بأكملها غير SSL ، ولكن يجب أن يكون إطار تسجيل الدخول هو SSL.

والطرق المعتادة للقيام بذلك هي إما إغلاق الموقع بأكمله باستخدام SSL ، فلا تقلق بشأن امتلاك اسم المستخدم وكلمة المرور لشفرة SSL والانتقال إلى SSL بعد تسجيل الدخول ، أو الذهاب إلى مسار الإطار الذي ذكرته أعلاه.

0
وأضاف

تمكنت من تحقيق ذلك من خلال إضافة حدث OnClientClick إلى عنصر تحكم زر تسجيل الدخول وتعيينه إلى وظيفة JavaScript التالية.
`

function forceSSLSubmit() 
{

                var strAction = document.forms[0].action.toString();

                if (strAction.toLowerCase().indexOf("http:") == 0) {
                    strAction = "https" + strAction.substring(4);

                    document.forms[0].action = strAction;
                }

        }

`

0
وأضاف