سؤال

حسنًا ، لذلك أنا لا أستخدم أي متغيرات جلسة ، بل يشبه الرمز الخاص بي:

if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="Enter your Twitter username and password:"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Please enter your Twitter username and password to view your followers.';
    exit();
}

$username = $_SERVER['PHP_AUTH_USER'];
$password = $_SERVER['PHP_AUTH_PW']; 

لذا ، سؤالي هو ، كيف يمكنني تدمير جلسة تسجيل الدخول هذه عندما يريد المستخدم تسجيل الخروج من بيانات اعتماد تسجيل الدخول إلى Twitter (في هذه الحالة)؟

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

المحلول

كل ما يمكنك فعله هو إرسال رأس 401 آخر. عادةً ما "ينسى" المتصفح القيمة القديمة ، ويظهر حوار إدخال مستخدم/تمرير آخر ، وإذا كان المستخدمون ، فاضغط على زر "Abort" الذي "تم تسجيلهم". عيوب اثنين:

  • قد يفاجئ حوار "إحباط تسجيل الدخول إلى تسجيل الدخول" المستخدمين قليلاً
  • "عادة" يعني: من الأفضل ألا تعتمد عليه.

تحرير: وقد تمت الإجابة عليه بالفعل ، تسجيل مصادقة HTTP عبر PHP

نصائح أخرى

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

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