كيفية التفويض

جدول المحتويات:

كيفية التفويض
كيفية التفويض

فيديو: كيفية التفويض

فيديو: كيفية التفويض
فيديو: How to activate a license using License Activator 2024, يمكن
Anonim

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

كيف أفوض؟
كيف أفوض؟

تعليمات

الخطوة 1

دعونا ننظم أسهل طريقة لحماية صفحاتك من الزوار غير المصرح لهم. سيكون حامل المعلومات حول ما إذا كان الزائر مفوضًا هو الجلسة. الجلسة هي نظير لملفات تعريف الارتباط في المتصفح ، مع الاختلاف الوحيد في أنها لا يتم إنشاؤها على جهاز الكمبيوتر الخاص بنا ، ولكن على الخادم. ويتم استخدامها لنفس الغرض مثل ملفات تعريف الارتباط - لتخزين معلومات مختلفة عنا أثناء انتقالنا من صفحة إلى صفحة في موقع واحد. عندما نغلق المتصفح ، يقوم الخادم بإتلاف هذه الجلسة ، وفي المرة التالية التي نقوم فيها بتسجيل الدخول ، يقوم بإنشاء واحدة جديدة. نستخدم آلية الخادم هذه لتسجيل ما إذا كان المستخدم قد قام بالفعل بتسجيل الدخول إلى الجلسة أم لا. عند قراءة هذه المعلومات ، عندما يطلب زائر صفحة ما ، سيفتح php-script إما الوصول إلى الصفحات المحمية بكلمة مرور ، أو يعرض إدخال اسم مستخدم وكلمة مرور.

الخطوة 1: قم بإنشاء صفحة لإدخال معلومات تسجيل الدخول وكلمة المرور. قد يبدو كود HTML الخاص بنموذج التفويض بأبسط أشكاله كما يلي:

تسجيل الدخول:

كلمة المرور:

هنا (في بداية الملف) سنضيف كود php الذي سيتحقق من صحة اسم المستخدم وكلمة المرور اللذين أدخلهما الزائر. في البداية نكتب:

جلسة_ستارت () ،

يبدأ هذا الأمر جلسة جديدة إذا لم يتم إنشاء جلسة لهذا الزائر بالفعل.

ثم دعونا نتحقق مما إذا كانت الجلسة تحتوي على متغير باسم "userName" - سيخزن الاسم إذا كان الزائر قد قام بتسجيل الدخول بالفعل. إذا كان هناك متغير من هذا القبيل ، فأعد توجيه الزائر إلى الصفحة الرئيسية (index.php) وانتهي من تنفيذ نص php هذا:

إذا ($ _ SESSION ['userName']) {

header ("الموقع: index.php") ؛

خروج؛

}

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

$ validName = 'أنا ملكي!'؛

$ validPass = 'كلمة المرور السرية' ؛

ثم نتحقق لمعرفة ما إذا كانت القيم المقدمة من النموذج تتطابق مع القيم الصحيحة. نظرًا لأننا حددنا طريقة نقل البيانات POST في النموذج ، فيجب قراءتها من المتغير الفائق $ _POST:

إذا ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ validName ؛

header ("الموقع: index.php") ؛

خروج؛

}

هنا سيتم تنفيذ الكود الموجود في الأقواس المتعرجة {} بالقيم الصحيحة لاسم المستخدم وكلمة المرور. على السطر $ _SESSION ['userName'] = $ validName؛ ma نكتب في الجلسة متغيرًا باسم "userName" يحتوي على تسجيل دخول المستخدم المصرح له الآن. ستكون هذه علامة على أن الوصول مفتوح له في كل مكان طالما أن جلسته الحالية صالحة.

وفي حالة إدخال بيانات غير صحيحة في النموذج ، أضف الرسالة المناسبة:

صدى آخر"

تسجيل الدخول أو كلمة المرور غير صحيحة!

;

سيبدو كل الكود الذي يجب حفظه في ملف يسمى login.php كما يلي:

<؟ php

جلسة_ستارت () ،

إذا ($ _ SESSION ['userName']) {

header ("الموقع: index.php") ؛

خروج؛

}

$ validName = 'أنا ملكي!'؛

$ validPass = 'كلمة المرور السرية' ؛

إذا ($ _ POST ['userName'] == $ validName && $ _POST ['userPass'] == $ validPass) {

$ _SESSION ['userName'] = $ validName ؛

header ("الموقع: index.php") ؛

خروج؛

}

صدى آخر"

تسجيل الدخول أو كلمة المرور غير صحيحة!

;

?>

تسجيل الدخول:

كلمة المرور:

الخطوة 2

الخطوة 2: إنشاء كتلة ترخيص - ملف منفصل سيتم توصيله بكل صفحة تحتاج إلى حماية كلمة المرور. سيحتوي هذا الملف على كود php فقط ، لذا سيكون امتداده "php" ، وسنمنحه اسمًا وفقًا للتقاليد لمثل هذه الملفات - "auth" ، أي "auth.php". وهنا أيضًا فور فتح علامة <؟ Php tag ، يجب أن يكون هناك تعليمات لبدء الجلسة:

جلسة_ستارت () ،

يمكننا قراءة جميع المتغيرات المخزنة في الجلسة من مصفوفة superglobal $ _SESSION. نحتاج إلى التحقق من قيمة المتغير "userName" - إذا لم يقم الزائر بتسجيل الدخول بعد ، فلن يكون في المصفوفة ، وسنقوم بإعادة توجيهه إلى الصفحة لإدخال اسم المستخدم وكلمة المرور الخاصة به:

إذا (! $ _ SESSION ['مفوض']) {

header ("الموقع: login.php") ؛

خروج؛

}

ستبدو جميع الكودات التي يجب حفظها في ملف auth.php كما يلي:

<؟ php

جلسة_ستارت () ،

إذا (! $ _ SESSION ['admin']) {

header ("الموقع: enter.php") ؛

خروج؛

}

?>

الخطوه 3

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

<؟ php

تتطلب "auth.php" ؛

?>

ولتغيير كلمة مرور الوصول ، ستحتاج إلى تغيير قيم هذه المتغيرات في ملف login.php:

$ validName = 'أنا ملكي!'؛

$ validPass = 'كلمة المرور السرية' ؛

$ validName - تسجيل الدخول ، $ validPass - كلمة المرور.

موصى به: