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

مضحي Modhy

الأعضاء
  • المساهمات

    57
  • تاريخ الانضمام

  • تاريخ آخر زيارة

أجوبة بواسطة مضحي Modhy

  1. السلام عليكم

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

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

     

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

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

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

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

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

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

     

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

    • أعجبني 1
  2. لدي هذه الجدول

    table 1
    
    CREATE TABLE users (
        id_user uuid DEFAULT uuid_generate_v4(),
        email character varying(255) UNIQUE,
        createdAtU timestamptz,
        updatedAtU timestamptz,
        PRIMARY KEY (id_user)
    );
    
    table 2
    
    CREATE TABLE usersInfo (
        id_user uuid,
        fullname character varying(255),
        createdAtI timestamptz,
        updatedAtI timestamptz,
        PRIMARY KEY (id_user)
    );
    
    table 3
    
    CREATE TABLE usersCode (
        id_user uuid UNIQUE,
        code integer,
        createdAt timestamptz,
        updatedAt timestamptz,
        PRIMARY KEY (id_user)
    );

     

    كيف اعمل View يجمع البيانات في مكان واحد علماً ان id_user متساوي في كل الجداول بحيث اول ما انشىء مستخدم جديد يتم انشاء له صفوف مقابلة في الجداول الاخرى بنفس id

    • أعجبني 1
  3. وجدت طريقة لربما مؤقته ولكنها تفي بالغرض وهي

    تنسيق السطر المراد جعله في سطر واحد بحيث اضلله واضغط بالكيبورد ctr + j فيتم جعله في سطر واحد

    واكتب قبله تعليق بهذا النص

    // prettier-ignore

    فيتم تجاهله عند التنسيق.

  4. لدي كود بهذا الشكل

            const numbers = values
                .map((val, index) => {
                    return  (index + 1);
                })
                .toString();

    ولدي اعدادات ل prettier بملف اسمه .prettierrc ويحتوي على

    {
        "trailingComma": "es5",
        "tabWidth": 2,
        "useTabs": false,
        "singleQuote": true,
        "printWidth": 1200,
        "bracketSpacing": true,
        "jsxBracketSameLine": true
    }

     

    والمطلوب هو جعل الكود بهذا الشكل

    const numbers = values.map((val, index) => {return (index + 1);}).toString();

     

    • أعجبني 1
  5. ١- ألا يمكن عمل استعلام واحد لاختصار عمليتين او اكثر بقاعدة البيانات ؟

    ٢- خاصية اليونيك لا يمكنني معرفة الخطأ بهذه الحالة ؟ إلا من خلال فلترة نوع الخطأ فكيف اعرف ان الخطأ هو من هذا النوع ؟

    ثم النقطة الاخيرة عرفت الفكرة ولكن كيف يمكن تطبيقها ؟

    • أعجبني 1
  6. التاريخ يظهر لي بشكل صحيح بالموقع وعند ارساله الى السيرفر يظهر بشكل صحيح

    ولكن عند إضافته لقاعدة البيانات يتم انقاص يوم واحد من التاريخ

    بحيث لو اضفت تاريخ ٢-١-٢٠٢٠ يتم حفظ ١-١-٢٠٢٠ !!!

    ما المشكلة وما الحل لها؟

  7. السلام عليكم 

    اعمل على postgresql من خلال nodejs

    احتاج في بعض المرات عمل الاتي :

    ١- التأكد من بيانات المستخدم

    ٢- التأكد من عدم تكرار الاسم المراد اضافته في جدول A

    ٣- تحديث بيانات الجدول B بعد عمل الاضافة في جدول A

    …الخ

    هل يوجد طريقة بحيث لا يتم الذهاب والرجوع من والى قاعدة البيانات بثلاثة استعلامات ، بحيث يكون الذهاب واحد والرجوع واحد ومحمل بالنتيجة المطلوبة سواء تم المطلوب او فشل؟

     

    • أعجبني 1
  8. بتاريخ 11 ساعات قال Hassan Hedr:

    وتقوم المكتبة بالتحقق منها هل هي مولدة من مخدمك أم لا (دون الحاجة لتخزين واسترداد أي توكن)

    كيف يتم هذا التحقق من قبل المكتبة ؟

    بتاريخ 11 ساعات قال Hassan Hedr:

    res.cookie('XSRF-TOKEN', req.csrfToken()) // تعيين التوكن في الـ Cookie

    عند ارسال التوكن بهذه الطريقة يكون في الكوكيز رمزان، هذا الذي ارسلته وررمز اخر باسم _csrf لا تتغير قيمته نهائياً !!!

    لماذا الرمز الثاني ؟

  9. السلام عليكم

    هل المكتبة تقوم بمقارنة التوكن القادم من المستخدم بالذي تم ارساله له ؟

    ام يجب علي حفظ التوكن المنشئ في كل مره ومقارنته بنفسي ؟

    علماً اني استخدمها في spa

    وكيف يمكن تغيير خيارات الكوكيز في المكتبة بحيث اعدل key او httponly وغيرها.

     

    • أعجبني 1
  10. @Salah Eddin Berriani

    يعني اخي صلاح الطريقة المعمول فيها هي بتوفير داتا في قاعدة البيانات تبين صلاحيات المستخدم بالنسبة لدخول اي راوت ؟

    لان الصلاحيات ليست مدير وفقط ولكن صلاحيات كثيرة، لا يوجد سوى حفظها في قاعدة البيانات هل هذا صحيح ؟

     

    @بلال زيادةاخ بلال انا لا اتكلم عن عملية تسجيل الدخول وانما عن ما هو بعدها من صلاحيات للصفحات، وبخصوص عملية تسجيل الدخول تكون عن طريق تضمين التوكن في كوكيز اليس هذا افضل ؟

    • أعجبني 1
  11. السلام عليكم

    لدي api بها مجموعة من الراوتس يتعين على المستخدم تسجيل الدخول من قبل الموقع والحصول على access token و refresh token

    مدة access token 10s ويتجدد من خلال refresh

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

    لاشك انه يوجد بعض الراوتز محجوبة عن المستخدم العادي في front end وهي مخصصة للمدراء وغيرهم، يتم هذا الحجب من خلال الفرونت اند وذلك بحجب هذه الصفحات عنه ولكن في حال اراد الاستعلام عن طريق برنامج مثلاً postman يستطيع تصفح تلك الراوتز ! كيف يمكن منعه من ذلك ؟

    اول ما خطر في بالي هو وضع حقل في جدول المستخدم للاستعلام عن هذه الراوتز هل هذه الطريقة صحيحة ؟

    وان كان يوجد افضل منها فياليت احد يزودني بها مع الشكر.

    • أعجبني 1
  12. في كل طلب يتم على الخادم يتم التحقق من وجود الكويكز وبداخله كود التوكن ويتم التحقق من كود التوكن هل هو صحيح او لا وهل مازال يعمل او انتهت صلاحيته.

    بهذه الطريقة يسمى مصادقة تلقائية ؟ صحيح ؟

    اذن في هذه الحالة لابد من توفر كود csrf لحماية الراوتر الخاص بال post ؟ صحيح هذا الكلام ؟

     

    هل كود csrf يتم انشاءه في كل طلب للمستخدم ام مره واحده عند تسجيل الدخول ؟

    وعند انشاءه هل يتم حفظه في قاعدة البيانات او في مكان آخر ؟ اتمنى توضيح هذه النقطة.

    وعند حفظه بقاعدة البيانات لابد في كل مره اتحقق من صحته بعمل select  لبيانات المستخدم ؟ هل هذه الطريقة هي المعتده عند الكل ام يوجد طريقة اخرى ؟

  13. لدي تطبيق ويوجد به مصادقة عن طريف التوكن ومدته لا تزيد عن ٣ دقائق ويتم تجديده عن طريق refresh token

    هل هذا يمنع هجوم csrf ؟

    وان كان لا فكيف يمكن تفادي هجوم csrf عن طريق api nodejs و frontend nuxtjs

  14. طيب الان عند انشاء اتصال للتأكد من بيانات المستخدم ( اسم المستخدم وكلمة المرور ) هنا استخدم pool او client

    وهل يتم انهاءه بعد جلب البيانات ؟

    شرحك للتصور العام للمفهومين واضح ولكن ربما بالمثال تتضح الصورة لي اكثر، لان الى الان توجد ضبابية عندي لاستخدام احدهما على الاخر

×
×
  • أضف...