اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

في مواقع الصفحة الواحدة يوجد مشكلة وهي عندما يتم حفظ بيانات المستخدم مع صلاحياته في  store باسم مثلا

auth: true

user; {name:'aaa', type:'admin"}

 

في بعض الصفحات تكون عبارة عن اكثر من مكون component ويكون احداها مخفي بسبب ان المستخدم عبارة عن user وليس admin بحيث لم يتحقق الشرط فلم يظهر المكون

ولكن في هذه الحالة يوجد طريقة للمستخدم النهائي ان يعبث بهذه القيمة بحيث يستطيع تغييرها ( هذا ممكن حسب جواب احد الاخوة هنا بالاكاديمية )

لذلك وضعت watch يراقب هذه القيم بحيث ان حصل فيها اي تغيير يتم تنفيذ هذا الكود

window.location.href = window.location.href;

هذا يتم من خلاله إعادة تحميل الصفحة ومنها تحديث البيانات حسب ما هو موجود في قاعدة البيانات فتعود كما هي قبل التلاعب

هل هذه الطريقة آمنه ام يوجد افكار غيرها اكثر امان ؟

 

ملاحظة: لم اتطرق للباك اند لانه مؤمن ويتم التعامل فيه من خلال قاعدة البيانات فلا يمكن التلاعب بها.

Recommended Posts

  • 1
نشر
بتاريخ 1 دقيقة مضت قال مضحي Modhy:

طيب ،،،

هل الطريقة التي ذكرتها في اول الموضوع ناجحة ؟

بحيث يتم مراقبة هذا المتغير وفي اي تغيير يطرأ عليه يتم عمل إعادة تحميل للصفحة.

المستخدم الذي قام بالتلاعب بقيمة المتغير المؤثرة في شروط عرض مكونات معينة لن يكون تعديل شيفرة المراقبة و إعادة التحميل مشكلة بالنسبة له . 

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

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

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

  • 0
نشر

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

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

كما أن التوجه إلى تطبيقات الـ ssr أو الـ server side rendering سيقوم بتجاوز هذا الإشكال و حله بشكل نهائي , و كونك تستخدم vueJS فسيكون إستعمال NuxtJs موافقا و سهلا . 

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...