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

StackOverflow https://stackoverflow.com/questions/96164

  •  01-07-2019
  •  | 
  •  

سؤال

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

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

هل كانت مفيدة؟

المحلول

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

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

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

نصائح أخرى

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

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;
                }

        }

`

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

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top