سؤال

على جانبي جافا، لدينا مرشح Servlet الذي يتعامل مع المصادقة. ليس لدينا لتغيير جميع Servlet أو JSPs الأخرى لإضافة مصادقة إلى الصفحة، ما لم تكن الصفحة تحتاج إلى محتوى مخصص.

كيف يمكننا تحقيق نفس الشيء على PHP؟ نحن لا نستخدم أي أطر على PHP.

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

المحلول

لا يوجد أي ما يعادل مباشرة. أفضل رهان لديك هو تضمين ملف مشترك في الأعلى والقيام بهذا المنطق في أعلى ذلك كما هو مطلوب. وبالتالي:

require 'common.php';

مع:

if (!isset($_SESSION['userid'])) {
  // authentication stuff
}

إذا كنت ترغب في القيام بشيء ما في النهاية، فسيكون لديك بضعة خيارات:

  1. استخدام المعالج المخزن المؤقت الإخراج مع ob_start(); ؛ أو
  2. تسجيل دعوة إيقاف التشغيل مع register_shutdown_function().

وبالتالي:

ob_start('my_callback');

function my_callback($str) {
  // do something
  return $str;
}

أو

register_shutdown_function(my_callback);

function my_callback() {
  // do something
}

نصائح أخرى

إذا فهمت سؤالك بشكل صحيح. هذا يمكن أن يختلف على الهندسة المعمارية .. على سبيل المثال .. قم بإنشاء ملف تضمين يتحقق ما إذا كان المستخدم مصادق عليه عبر الجلسة، إذا لم يرسل إلى صفحة تسجيل الدخول. أعتقد أن أي موقع يحتوي على أكثر من 2 من البرامج النصية ستستخدم نوعا من ملف التضمين ويمكنك وضع هذا الرمز في هذا الملف. يمكنك حتى الحصول على مجموعة تحتوي على أسماء الصفحات التي تحتاج إلى جلسة مستخدم صالحة ومطابقة ذلك مع طلب URI .. عدة طرق للذهاب حولها .. تحتاج فقط إلى اختيار الشخص الذي يناسبك أكثر.

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