مضحي Modhy نشر 17 سبتمبر 2021 أرسل تقرير نشر 17 سبتمبر 2021 السلام عليكم في مواقع الصفحة الواحدة يوجد مشكلة وهي عندما يتم حفظ بيانات المستخدم مع صلاحياته في store باسم مثلا auth: true user; {name:'aaa', type:'admin"} في بعض الصفحات تكون عبارة عن اكثر من مكون component ويكون احداها مخفي بسبب ان المستخدم عبارة عن user وليس admin بحيث لم يتحقق الشرط فلم يظهر المكون ولكن في هذه الحالة يوجد طريقة للمستخدم النهائي ان يعبث بهذه القيمة بحيث يستطيع تغييرها ( هذا ممكن حسب جواب احد الاخوة هنا بالاكاديمية ) لذلك وضعت watch يراقب هذه القيم بحيث ان حصل فيها اي تغيير يتم تنفيذ هذا الكود window.location.href = window.location.href; هذا يتم من خلاله إعادة تحميل الصفحة ومنها تحديث البيانات حسب ما هو موجود في قاعدة البيانات فتعود كما هي قبل التلاعب هل هذه الطريقة آمنه ام يوجد افكار غيرها اكثر امان ؟ ملاحظة: لم اتطرق للباك اند لانه مؤمن ويتم التعامل فيه من خلال قاعدة البيانات فلا يمكن التلاعب بها. 1 اقتباس
1 Adnane Kadri نشر 17 سبتمبر 2021 أرسل تقرير نشر 17 سبتمبر 2021 بتاريخ 1 دقيقة مضت قال مضحي Modhy: طيب ،،، هل الطريقة التي ذكرتها في اول الموضوع ناجحة ؟ بحيث يتم مراقبة هذا المتغير وفي اي تغيير يطرأ عليه يتم عمل إعادة تحميل للصفحة. المستخدم الذي قام بالتلاعب بقيمة المتغير المؤثرة في شروط عرض مكونات معينة لن يكون تعديل شيفرة المراقبة و إعادة التحميل مشكلة بالنسبة له . كما أن هاته الحالات خاصة جدا , فعوام المستخدمين لا يفكرون بنفس الطريقة . و حتى إن كان و تم الوصول لذلك بأية طريقة كانت , لن يكون من عرض قالب فارغ جدوى من الأساس . أي أن الأهم من كل ذلك : مصادقة طلبات جلب البيانات قبل عرضها , و يكون كل هذا في الواجهة الخلفية بعيدا عن المستخدم . كما أن هذا لا يمنعك من ضبط طريقة التصفح و منع عوام المستخدمين من الوصول إلى صفحات ليست لهم صلاحية الوصول إلى البيانات التي تعرض بهاته المكونات , و يكون ذلك بالتوجيه إلى صفحات عامة أو قابلة للوصول من أي كان في حالة إرسال طلب من مكون خاص لا يمكن لمستخدم عام تصفحه . 1 اقتباس
0 Adnane Kadri نشر 17 سبتمبر 2021 أرسل تقرير نشر 17 سبتمبر 2021 في الحقيقة فكرة حماية عرض مكون في تطيبقات الصفحة الواحدة أو تطبيقات الويب التقدمية فكرة تعاب فيها هاته التطبيقات , إذ أن اقصى حماية لأي مكون أو أية صفحة عرض هي عن طريق طبقات وسيطة تستعمل قيما و شروطا مهما تم التلاعب فيها وتطبيق الأفكار عليها ستبقى مخزنة أو متحقق منها محليا و على المتصفح . ولكنه يجب الإنتباه إلى أن عرض مكون دون بيانات ليس له معنى فسيكون مجرد قالب , و لذلك التركيز الحقيقي لا يكون على حماية صفحات العرض و المكونات و إنما على البيانات التي تستجلب من الواجهة الخلفية . كما أن التوجه إلى تطبيقات الـ ssr أو الـ server side rendering سيقوم بتجاوز هذا الإشكال و حله بشكل نهائي , و كونك تستخدم vueJS فسيكون إستعمال NuxtJs موافقا و سهلا . 1 اقتباس
0 مضحي Modhy نشر 17 سبتمبر 2021 الكاتب أرسل تقرير نشر 17 سبتمبر 2021 طيب ،،، هل الطريقة التي ذكرتها في اول الموضوع ناجحة ؟ بحيث يتم مراقبة هذا المتغير وفي اي تغيير يطرأ عليه يتم عمل إعادة تحميل للصفحة. 1 اقتباس
السؤال
مضحي Modhy
السلام عليكم
في مواقع الصفحة الواحدة يوجد مشكلة وهي عندما يتم حفظ بيانات المستخدم مع صلاحياته في store باسم مثلا
في بعض الصفحات تكون عبارة عن اكثر من مكون component ويكون احداها مخفي بسبب ان المستخدم عبارة عن user وليس admin بحيث لم يتحقق الشرط فلم يظهر المكون
ولكن في هذه الحالة يوجد طريقة للمستخدم النهائي ان يعبث بهذه القيمة بحيث يستطيع تغييرها ( هذا ممكن حسب جواب احد الاخوة هنا بالاكاديمية )
لذلك وضعت watch يراقب هذه القيم بحيث ان حصل فيها اي تغيير يتم تنفيذ هذا الكود
هذا يتم من خلاله إعادة تحميل الصفحة ومنها تحديث البيانات حسب ما هو موجود في قاعدة البيانات فتعود كما هي قبل التلاعب
هل هذه الطريقة آمنه ام يوجد افكار غيرها اكثر امان ؟
ملاحظة: لم اتطرق للباك اند لانه مؤمن ويتم التعامل فيه من خلال قاعدة البيانات فلا يمكن التلاعب بها.
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.