موصى به: تحليل إدارة حالة الويب لتصميم تطبيق ASP لا يفكر العديد من المطورين أبدًا في مفهوم الدولة قبل تقديم الطلبات إلى الويب. كما ذكرنا سابقًا ، فإن الويب هي بيئة عديمة الجنسية. لذلك ، يجب أن نناقش ماهية الدولة وفهم الأساليب التي يمكن أن تتجنب المشاكل. التعريف الدقيق للحالة في مستخدم واحد
لنتحدث عن الجلسة أولاًيبدو أن النقاش خلال الجلسة لم يتوقف أبدًا ، ولكن ينبغي حساب أكثر من 90 شخصًا يمكنهم فهم الجلسة.
لكن دعني أخبرك ، لا تكبر ~
يتفق بعض الناس مع الجلسة ، بينما لا يوافق الآخرون. ولكن ما الذي يجب أن أقوله بالضبط عن هذا السؤال؟ لماذا لا تستمع إلى رأيي
إذا كان هناك أي خطأ ، فيرجى عدم رمي الأشياء إلى هذه النقطة ، باستثناء قضبان الذهب والعملات المعدنية.
يجب أن يعلم بعض الناس أنني رجل يعمل في برامج Jianghu ، وما أقدره في برامج Jianghu هو الكفاءة ، لكنني هنا لا أتحدث عن التصميم ،
انظر إلى الجلسة من بعض المنظورات العملية.
بادئ ذي بدء ، يجب أن نتحدث أولاً عن ما تفعله الجلسة.
أي نافذة تفتح في النافذة الأمامية لها آلية تخزين معلومات مستهدفة للمستخدم. لماذا تقول ذلك؟ انظر إلى ما يلي
الدراسة الأولى كيف تبدأ الجلسة.
وتنزيل أذونات لأنواع مختلفة من البيانات ، مثل الصور والأصوات والفلاش.
محتوى نقل البيانات الفعلي: أي الخادم
GET / HTTP / 1.1
قبول: الصورة/gif ، صورة/x-xbitmap ، صورة/jpeg ، الصورة/pjpeg ، التطبيق/x-shockwave-flash ، */ *
قبول Language0: ZH-CN
قبول الترميز: gzip ، انحراف
عامل المستخدم: Mozilla/4.0 (متوافق ؛ MSIE 5.01 ؛ Windows NT 5.0)
المضيف: www.jh521.com
الاتصال: الحفاظ على الحفل
سيقوم الخادم بإرجاع SessionId الذي لا يستخدم للاستخدام في ذلك الوقت.
وإرجاع بيانات التنزيل الخاصة بالصفحة ذات الصلة في نفس الوقت ، على النحو التالي: الخادم إلى أي
HTTP/1.1 200 OK
الخادم: Microsoft-IIS/5.0
التاريخ: الشمس ، 30 نوفمبر 2003 16:41:51 بتوقيت جرينتش
طول المحتوى: 21174 .. نوع المحتوى: نص/html
set-cookie: aspsessionidcacbbrt = ibomfonaojfeebhbpienjffc ؛
السيطرة على ذاكرة التخزين المؤقت: خاصة
ثم هناك رمز الصفحة HTML
في هذا الوقت ، فإن برنامج SessionId من برنامج IE (وليس العميل) هو ibomfonaojfeebhbpienjffc
وعندما يصل IE إلى أي برنامج ASP على هذا الموقع ، فإنه سيرسل ibomfonaojfeebhbpienjffc
أعطه للخادم ، وسيعرف الخادم أن ibomfonaojfeebhbpienjffc
تعيين الجلسة (الاسم) = الاسم على الخادم
يمكن اعتباره
الجلسة (ibomfonaojfeebhbpienjffc) (الاسم) = الاسم
أو
جلسة (SessionId) (الاسم) = الاسم
وبهذه الطريقة ، تميز الجلسة المستخدمين.
عندما يقوم الخادم بتعليقات هذا المعرف ، سيتحقق مما إذا كان يتم استخدام المعرف. إذا كان هناك تغيير
على أي حال ، لن تتكرر ، لا بأس في محاكاة معرف جلسة شخص ما للغش. ولكن للحصول على
يقوم الطرف الآخر IE بنقل إشارة ولا يمكن تنفيذه إلا إذا لم يتم إلغاء SessionId في ذلك الوقت.
ولكن إذا كان لدي ذلك الوقت ، فسوف أجده مباشرة الاسم وأمر عبر إشارة البريد. لا داعي للقلق بشأن هذا
أعتقد أن بعض الناس يفهمون كيف يعمل SessionId
ثم دعنا نلقي نظرة على ملف تعريف الارتباط.
ومع ذلك ، فإنه ينتمي إلى وضع عمل ، حيث ينقل المستخدمون والخوادم بيانات خاصة
عندما أقوم بتعيين ملف تعريف الارتباط ، سيقوم الخادم بتعليق تعليمات إلى IE. IE ينشئ ملف تعريف الارتباط من خلال تعليمات الشبكة هذه و
المتجر ، سيتم الحصول على هذه المعلومات في وقت محدد ، مثل عند الوصول إلى هذا الموقع و CookID صالح.
فلماذا تستخدم ملف تعريف الارتباط بدلاً من الجلسة
انظر الفرق
وقت صالح وتخزين طريقة لنقل المحتوى
يمكن لملف تعريف الارتباط ضبط المعلومات الصريحة والاحتفاظ بها محليًا
لم يتم إيقاف الجلسة في IE والخادم لا يخرج من SessionId فقط
إذا كنت تريد أن يقوم المستخدم بتسجيل الدخول إلى موقع الويب في المرة القادمة التي لا تحتاج فيها إلى إدخال اسم مستخدم أو كلمة مرور ، فيمكنك استخدام ملف تعريف الارتباط فقط.
لأنه يمكنه الاحتفاظ بها لفترة طويلة (قبل حذف سجل ملفات تعريف الارتباط أو انتهاء صلاحيتها)
لكن الجلسة غير ممكنة ، ولن تبقيها لفترة طويلة ، وسوف تقوم أي سجل SessionId بتطهيرها تلقائيًا بعد إغلاقها
في المرة القادمة التي تقوم فيها بتسجيل الدخول ، ستطلب SessionId جديد
عندما يريد الخادم التحقق من حالة المستخدم من خلال المتغير الشخصي للمستخدم ، لا يمكنه استخدام ملف تعريف الارتباط
إذا قمت بتعيين أذونات المستخدم ، فهو مستخدم. عندما تصل IE ، فإنه ينقل رمز المستخدم إلى الخادم.
فماذا لو استخدمت بعض الوسائل ، مثل تعديل سجل ملفات تعريف الارتباط مباشرة وتعديل المستخدم إلى المسؤول ~~
إنه أمر مزعج.
ومع ذلك ، من الأفضل تخزين المعلومات مثل اسم المستخدم وكلمة المرور أو نظام ألوان موقع الويب.
حسنًا ، متعب قليلاً ، أنا أتحدث عن هذا
request.servervariables (http_referer)
أعتقد أن هناك بعض الأشخاص الذين يمررون هذا الطلب. servervariables (http_referer)
لتنفيذ بعض القيود الرئيسية ، وخاصة ضد التقديمات عن بُعد والتعدي غير القانوني.
ثم أريد أن أذكر الخادم بأن معلومات http_referer التي تم الحصول عليها يتم نقلها بالكامل إلى الخادم بواسطة IE ، ويمكن محاكاة.
وليس من الصعب.
مشاركة: رمز مثيل ASP: طريقة إعداد رمز الترحيل طويلة المقالة فيما يلي المحتوى المشار إليه: <٪ Class ASPXSKY_PAGE الخاص بـ sub class_initialize نهاية الوظيفة العامة الفرعية (messa