ملف تعريف مستخدم ASP.NET مقابل استخدام ملفات تعريف الارتباط

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

  •  19-08-2019
  •  | 
  •  

سؤال

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

إذن ما هي بعض أكبر مزايا/عيوب استخدام ملفات تعريف المستخدم أو ملفات تعريف الارتباط لتخزين تفضيلات المستخدم؟

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

المحلول

وثمة عيب آخر لعقد جميع البيانات الأفضلية في الكوكيز هو أن جميع هذه البيانات سيكون لها ليتم إرسالها في كل طلب من العميل وفي أي استجابة من الملقم كلما تم إجراء تغيير البيانات. في حين أن هذا قد يبدو وكأنه نقطة ثانوية في عصر النطاق العريض أنه لا يزال على مقدار حمل إضافي. باستخدام API الملامح meands أن البيانات التي عقدت في الملقم وفقط الكعكة تحديد جلسة يحتاج ليتم إرسالها من قبل المتصفح.

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

نصائح أخرى

واحدة من فوائد التسجيل على الموقع هو أنه يتذكر بلدي الأفضليات - إذا كنت تخزين تلك المعلومات في ملف على الجهاز الخاص بي بدلا من الخادم الخاص بك، ثم عند تسجيل الدخول إلى موقع الويب الخاص بك من كمبيوتر آخر، I ' لقد حصلت على وضع كل ما عندي من تفضيلات مرة أخرى - من وجهة نظر قابليتها للرأي، وهذا أمر سيء إلى حد ما

.

لمستخدم مجهول، تخزين بادئات في الكعكة قد يبدو معقولا إلى حد ما - كنت لا تعرف من هم، أو ما إذا كانت سوف تعود، وكما تصرح، لا يمكن العمل بها من دورة واحدة ل بجانب من هم - ولكن كنت ربما يكون أفضل حالا تخزين نوعا من رمز في ملف تعريف الارتباط ورسم الخرائط التي لتخزين تفضيلات على الخادم

ومتصفحات مختلفة أيضا، لقد لاحظت لها تطبيقات مختلفة لملفات تعريف الارتباط - على سبيل المثال IE يمكن الآن تلقي 50 الكوكيز من مجال واحد (حتى من الأصلي 20)، إلا أنها لا تزال تقتصر على ما مجموعه <لأ href = "http://support.microsoft.com/kb/306070" يختلط = "نوفولو noreferrer" > 4096 بايت لجمع الكعكة بأكمله (والسابقة) - وغيرها من المتصفحات تدعم 4KB في الكعكة، وليس في المجال

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

لذا، من حيث أتيت، سأقوم دائمًا بتخزين بيانات المستخدم على الخادم وتمرير ملف تعريف الارتباط الذي يشير إلى تلك المعلومات.

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

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

لكن النقطة الأكثر أهمية تظل هي الانفصال عن تطبيقات المتصفح التي لا تعمل تمامًا (مجرد تخزين الرموز الصغيرة هو حالة الاستخدام الشائعة والمختبرة)

ولا ننسى أن واحدا من أكبر مساوئ استخدام الكوكيز هو أنها يمكن نسخها، لذلك من خطورة على مخزن معلومات المصادقة عليها.

وأنا لست على دراية العضو API ولكن انا التخمين لأنه يخزن المعلومات على الملقم (؟). إذا أن يكون الحال بعد ذلك هل يمكن أن يكون مشكلة إذا كان لديك العديد من المستخدمين.

وعموما ربما أفضل حل هو استخدام العضو إذا كان يضمن استمرار هذه المعلومات.

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

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

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