سؤال

وأريد إنشاء موقع على شبكة الانترنت التي لا ينبغي التعامل مع نظام تسجيل الدخول عن طريق الكوكيز، ولكن على (أ) الجدول (ق) في المحلية (على الخادم) SQL DB.

هل هناك طريقة للقيام بذلك؟ حتى أي وسيلة جزئية؟

وماذا وأين يجب أن حفظ بدلا من كوكي ؟؟؟

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

المحلول

يستخدم

وASP.NET الكوكيز الدورة افتراضيا لتتبع طلبات المستخدم. إذا كنت تستخدم جلسات بدون ملفات تعريف الارتباط، سوف تجد ID الدورة يتم إلحاق في جميع الطلبات من المستعرض. في العديد من السيناريوهات، وهذا يمكن أيضا أن يكون غير مقبول.

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

وشخصيا، أعتقد الكوكيز كبيرة لتعقب طلبات المستخدمين طالما كنت تشفير بشكل صحيح.

نصائح أخرى

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

.

بدون ملفات تعريف الارتباط ASP.NET

إذا كنت بحاجة إلى مساعدة في الواقع تنفيذ نظام تسجيل الدخول ستحتاج لتشمل المزيد من التفاصيل حول مشكلة معينة.

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

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

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

واستخدم SqlMembershipProvider .

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