Forwarded from IS AM 23
برمجة وتطوير
Git_GitHub__proadev.pdf
📛 شرح للـ Version control systems والـ Git&Github
الملخص والشرح ضخخم جداً ويغنيك عن الكورسات من حيث التسلسل والشرح والتفاصيل الي تفهمك الموضوع ككل وصح الصفحات كثير لكن سهل وتقدروا تكملوه في يوم تقريباً
#للفايدة
الملخص والشرح ضخخم جداً ويغنيك عن الكورسات من حيث التسلسل والشرح والتفاصيل الي تفهمك الموضوع ككل وصح الصفحات كثير لكن سهل وتقدروا تكملوه في يوم تقريباً
#للفايدة
🚨 لاتسمي نفسك مبرمج اذا ماتستخدم الذكاء الاصطناعي ب 2024 !
هذه مجموعة ادوات ذكاء اصطناعي AI تفيدك كمبرمج ... وتختصر عليك الكثثثيررر من الوقت🔥
..
https://twitter.com/proadev/status/1754557661297721827?t=suqpoh5D9ecFDLmfe_PEaQ&s=19
#للفائدة
هذه مجموعة ادوات ذكاء اصطناعي AI تفيدك كمبرمج ... وتختصر عليك الكثثثيررر من الوقت🔥
..
https://twitter.com/proadev/status/1754557661297721827?t=suqpoh5D9ecFDLmfe_PEaQ&s=19
#للفائدة
X (formerly Twitter)
برمجة وتطوير (@proadev) on X
🚨 لاتسمي نفسك مبرمج اذا ماتستخدم الذكاء الاصطناعي ب 2024 !
هذه مجموعة ادوات ذكاء اصطناعي AI تفيدك كمبرمج ... وتختصر عليك الكثثثيررر من الوقت🔥
..
هذه مجموعة ادوات ذكاء اصطناعي AI تفيدك كمبرمج ... وتختصر عليك الكثثثيررر من الوقت🔥
..
لمحة 👀 برمجية
ورجعنا مع بارت 2... طبعا اعذروني على التأخير فهذه الرسائل اكتبها أنا ويأخذ مني وقت. طبعا الحلول الي شاركوها العيال والبنات سابقاُ فهمنا انها صحيحه لحالات معينه... بس الحاله الي في الشركه مختلف. نتكلم عن db كبيره جدا مع بيانات عملاقه وعلاقات توجع الدماغ 🤕…
واخيرا آخر بارت 😁
تكلمنا في بارت 1 على المشكلة وعرفناها وفي بارت 2 تكلمنا عن الحل النظري...
طبعا كما هو واضح في بارت 2 مستحيل اشارك الكود لانه خاص بالشركة... لهذا بكتفي بالكلام الرخيص واشرح لكم كل شي هدرة 🌚👍
بسم الله نبدأ:
الان في اي فريمورك backend مثل لارافل او adonis او...الخ في شي اسمه task scheduling او jobs... اعتقد الأغلب يعرف يستخدم لارافل... لهذا حبذا لو يبحث عن
Laravel 11 task scheduling
وفكرته بكل بساطه يكون يشغل كود معين كل فترة زمنية معينه (اما يوميا في ساعه معينة او اسبوعيا او كل 5 دقائق او ....الخ)
بنستغل هذه الميزة وبنفعل اوامر والاشياء الي تكلمنا عليها في بارت 2.
بنفعل tasks كثيرة... منها:
1 - انشاء db الجديدة مع الجداول الثقيله (الي هي views من db القديمة) وبنسميه init_db مع insert لكل البيانات
2 - بنفعل أمر sync_db وهذا الي بيكون يراجع الجدول الجديد الي تكلمنا عليه في بارت 2
الان بتكلم على أمر init ... الا init بيفعل drop if exist و create للجدول بحيث انه يحتوي على كل columns ال view
مثلا لو معي تقرير اجيبه من ٢٠ جدول والتقرير بينه ٥٠ عمود... الجدول ذاك بيكون ٥٠ عمود بدون اي علاقه
وهكذا...
وهذا شي عظيم... لانه في التطبيق بدل ما تقول له هات التقرير من view بتقول له هات لي التقرير من db الجديده.
طبعا الموضوع مش هكذا وبس... فهذا جزء بسيط من الحل 🤕
وبنضطر نفعل أشياء كثيرة بجانب أمر init_db
لانه - تخيلو معي - اذا المستخدم عدل بياناته في db الأساسية معناته بياناته في db الجديده بتكون قديمه ومختلفه عن البيانات الحديثة.
ولو شغلنا init_db في كل عملية تعديل عشان نحدث البيانات بنواجه مشكله ثانيه! في كل مره بيأخذ مننا مثلا ١٠ دقائق الي كنا نهرب منها اساساً 🤦🏻♂️
الحل هنا بيكون مشترك في الباك ايند وفي الجدول الجديد وفكره sync_db.
لو ناسي ايش new_table هو هذا الي تكلمنا عليه في بارت 2
اول شي في الباك ايند حق التطبيق بتمر لكل عملية إنشاء (Insert) أو تعديل (Update) أو حذف (Delete) على الجداول المرتبطة بالتقرير، ان حصل وتنفذ اي واحد من هولا بتحتاج تعمل insert في الجدول new_table. كذا بنضمن أنه إذا حصل أي تعديل، يكون موثق وموجود عندنا في new_table.
لكن هنا تظل المشكلة: البيانات مش متزامنة بشكل مباشر. وهنا يجي دور مهمة sync_db.
وهنا موضوع التزامن بيكون شغل ال task الجديده...
فكرة أمر sync_db انه بيشتغل كل 5 دقائق مثلاً... وبيفعل
select * from new_table
1. يعمل SELECT من الجدول new_table، ويجيب كل العمليات الجديدة اللي حصلت.
2. بعدين، يسوي استعلام SELECT من الـ View لكل id تم تسجيله في new_table.
3. بعد ما ياخذ البيانات، يسوي INSERT في الجدول الجديد في الـ DB الجديدة (يفعل اضافه في الجدول الي يمثل التقرير وعملناه عن طريق init_db)
4. بعد نجاح عملية الإضافة في الجدول الجديد، نحذف الصف من new_table لتجنب تكرار نفس العملية في المستقبل... لو ما عملنا رقم 4 بتتكرر البيانات في الجدول الجديد...
انتيهت من السلسلة هذه... وملاحظة هامة:
الحل في الشركة اكبر من هذا وفي اشياء كثيرة ما تكلمت عنها... ولكن هذه هي الفكرة الأساسية وتقدر انت تتلاعب بها على حسب احتياجات المشروع واحتياجك انت 👍
#db #سلسلة
تكلمنا في بارت 1 على المشكلة وعرفناها وفي بارت 2 تكلمنا عن الحل النظري...
طبعا كما هو واضح في بارت 2 مستحيل اشارك الكود لانه خاص بالشركة... لهذا بكتفي بالكلام الرخيص واشرح لكم كل شي هدرة 🌚👍
بسم الله نبدأ:
الان في اي فريمورك backend مثل لارافل او adonis او...الخ في شي اسمه task scheduling او jobs... اعتقد الأغلب يعرف يستخدم لارافل... لهذا حبذا لو يبحث عن
Laravel 11 task scheduling
وفكرته بكل بساطه يكون يشغل كود معين كل فترة زمنية معينه (اما يوميا في ساعه معينة او اسبوعيا او كل 5 دقائق او ....الخ)
بنستغل هذه الميزة وبنفعل اوامر والاشياء الي تكلمنا عليها في بارت 2.
بنفعل tasks كثيرة... منها:
1 - انشاء db الجديدة مع الجداول الثقيله (الي هي views من db القديمة) وبنسميه init_db مع insert لكل البيانات
2 - بنفعل أمر sync_db وهذا الي بيكون يراجع الجدول الجديد الي تكلمنا عليه في بارت 2
الان بتكلم على أمر init ... الا init بيفعل drop if exist و create للجدول بحيث انه يحتوي على كل columns ال view
مثلا لو معي تقرير اجيبه من ٢٠ جدول والتقرير بينه ٥٠ عمود... الجدول ذاك بيكون ٥٠ عمود بدون اي علاقه
وهكذا...
وهذا شي عظيم... لانه في التطبيق بدل ما تقول له هات التقرير من view بتقول له هات لي التقرير من db الجديده.
طبعا الموضوع مش هكذا وبس... فهذا جزء بسيط من الحل 🤕
وبنضطر نفعل أشياء كثيرة بجانب أمر init_db
لانه - تخيلو معي - اذا المستخدم عدل بياناته في db الأساسية معناته بياناته في db الجديده بتكون قديمه ومختلفه عن البيانات الحديثة.
ولو شغلنا init_db في كل عملية تعديل عشان نحدث البيانات بنواجه مشكله ثانيه! في كل مره بيأخذ مننا مثلا ١٠ دقائق الي كنا نهرب منها اساساً 🤦🏻♂️
الحل هنا بيكون مشترك في الباك ايند وفي الجدول الجديد وفكره sync_db.
لو ناسي ايش new_table هو هذا الي تكلمنا عليه في بارت 2
الهيكلية تبع الجدول الجديد هو:
id, row_id, view_name
اول شي في الباك ايند حق التطبيق بتمر لكل عملية إنشاء (Insert) أو تعديل (Update) أو حذف (Delete) على الجداول المرتبطة بالتقرير، ان حصل وتنفذ اي واحد من هولا بتحتاج تعمل insert في الجدول new_table. كذا بنضمن أنه إذا حصل أي تعديل، يكون موثق وموجود عندنا في new_table.
لكن هنا تظل المشكلة: البيانات مش متزامنة بشكل مباشر. وهنا يجي دور مهمة sync_db.
وهنا موضوع التزامن بيكون شغل ال task الجديده...
فكرة أمر sync_db انه بيشتغل كل 5 دقائق مثلاً... وبيفعل
select * from new_table
1. يعمل SELECT من الجدول new_table، ويجيب كل العمليات الجديدة اللي حصلت.
2. بعدين، يسوي استعلام SELECT من الـ View لكل id تم تسجيله في new_table.
3. بعد ما ياخذ البيانات، يسوي INSERT في الجدول الجديد في الـ DB الجديدة (يفعل اضافه في الجدول الي يمثل التقرير وعملناه عن طريق init_db)
4. بعد نجاح عملية الإضافة في الجدول الجديد، نحذف الصف من new_table لتجنب تكرار نفس العملية في المستقبل... لو ما عملنا رقم 4 بتتكرر البيانات في الجدول الجديد...
انتيهت من السلسلة هذه... وملاحظة هامة:
الحل في الشركة اكبر من هذا وفي اشياء كثيرة ما تكلمت عنها... ولكن هذه هي الفكرة الأساسية وتقدر انت تتلاعب بها على حسب احتياجات المشروع واحتياجك انت 👍
#db #سلسلة
🔥3
تقنية الدوكر (Docker) هي منصة مفتوحة المصدر تستخدم لتطوير وتشغيل التطبيقات بطريقة مستقلة عن البنية التحتية للنظام. تعتمد تقنية الدوكر على مفهوم الحاويات (containers)، حيث يتم تعبئة التطبيقات وجميع المكونات اللازمة لتشغيلها في حاوية واحدة قابلة للنقل والتشغيل على أي نظام تشغيل يدعم دوكر.
تقنية الدوكر توفر عزلًا تامًا بين التطبيقات المختلفة الموجودة على نفس النظام، مما يسمح بتشغيل التطبيقات بشكل مستقل وآمن دون التأثير على بعضها البعض. كما تسهل عملية تطوير ونشر التطبيقات بسرعة وسهولة، حيث يمكن إعداد بيئة تشغيل موحدة ومتجانسة للتطبيقات عبر مختلف البيئات.
تقنية الدوكر أصبحت شائعة الاستخدام في مجال تطوير البرمجيات وإدارة البنية التحتية، حيث تساعد في تبسيط عملية التوصيل المستمر وتحسين كفاءة استخدام الموارد وتوفير بيئات تشغيل موحدة ومستقرة.
#للفائدة
تقنية الدوكر توفر عزلًا تامًا بين التطبيقات المختلفة الموجودة على نفس النظام، مما يسمح بتشغيل التطبيقات بشكل مستقل وآمن دون التأثير على بعضها البعض. كما تسهل عملية تطوير ونشر التطبيقات بسرعة وسهولة، حيث يمكن إعداد بيئة تشغيل موحدة ومتجانسة للتطبيقات عبر مختلف البيئات.
تقنية الدوكر أصبحت شائعة الاستخدام في مجال تطوير البرمجيات وإدارة البنية التحتية، حيث تساعد في تبسيط عملية التوصيل المستمر وتحسين كفاءة استخدام الموارد وتوفير بيئات تشغيل موحدة ومستقرة.
#للفائدة
👍1🤗1
في اي مشروع برمجي.. في db اذا معاكم column من نوع string فالداتا تايب حقه تكون غالباً varchar بسبب الكل متأكد 100% انه بحدود 255 char واليوزر ما بيحتاج الا هذه القيمه
ولكن اذا كان الـ string بتأخذوه من اليوزر وانتم مش عارفين كم بيكتب اليوزر... هل جملة واحده او ٢٠ جملة ، مثل denoscription او note او data
فهنا حبذا لو كان الداتا تايب حقها text احتياط 👍
لانه تحصل مشاكل وقت ادخال البيانات string طويله من المستخدمين اذا كان varchar...
ولكن اذا كان الـ string بتأخذوه من اليوزر وانتم مش عارفين كم بيكتب اليوزر... هل جملة واحده او ٢٠ جملة ، مثل denoscription او note او data
فهنا حبذا لو كان الداتا تايب حقها text احتياط 👍
لانه تحصل مشاكل وقت ادخال البيانات string طويله من المستخدمين اذا كان varchar...
👏6🤩1
افضل مكتبات ال tailwindcss
رابط الثريد في السوشل ميديا:-
- on 𝕏
- on bluesky 🦋
- on LinkedIn
+ أنشر انا في حساباتي الخاصه أكثر من التليجرام... تجدوني في:-
https://solo.to/hetari
رابط الثريد في السوشل ميديا:-
- on 𝕏
- on bluesky 🦋
- on LinkedIn
+ أنشر انا في حساباتي الخاصه أكثر من التليجرام... تجدوني في:-
https://solo.to/hetari
❤1
علامات تدل على إصابة جهازك ببرمجيات خبيثة:
إعلانات تظهر لك بشكل مفاجئ
متصفح الإنترنت يعيد التحديث تلقائيا ً
تطبيقات لا تعرفها ترسل نوافذ تحذيرية
نوافذ تطلبك دفع فدية مالية
تعطيل بعض خدمات النظام
بطء كبير في التشغيل والأداء
ملفات تم إنشاءها دون معرفتك
اختفاء ملفاتك
إعلانات تظهر لك بشكل مفاجئ
متصفح الإنترنت يعيد التحديث تلقائيا ً
تطبيقات لا تعرفها ترسل نوافذ تحذيرية
نوافذ تطلبك دفع فدية مالية
تعطيل بعض خدمات النظام
بطء كبير في التشغيل والأداء
ملفات تم إنشاءها دون معرفتك
اختفاء ملفاتك
👍1
مؤخرًا انتشرت محاولات استغلال ثغرة أمنية تتيح للمخترقين إنشاء حسابات تيليجرام باستخدام أرقام هواتف دون إذن أصحابها.
وقد رصدت شركة تيليجرام بلاغات عن محاولات اختراق تحدث بعد استقبال مكالمة من رقم دولي، تليها عملية إنشاء حساب تيليجرام باستخدام الرقم المستهدف.
تجدر الإشارة إلى أن مشكلة مشابهة كانت قد ظهرت مسبقًا في واتساب وتمت معالجتها، إلا أن المخترقين يحاولون الآن استغلال الثغرة نفسها في تيليجرام.
تعمل تيليجرام على دراسة الوضع وتقييم مستوى المخاطر بهدف تطوير حلول مناسبة.
وفي هذه الأثناء، ننصح المستخدمين بالالتزام بالخطوات التالية لتعزيز حماية حساباتهم:
1. تفعيل المصادقة الثنائية في حساب تيليجرام:
يُنصح بتفعيل ميزة التحقق بخطوتين لحماية الحساب من أي محاولة وصول غير مصرح بها.
2. التحقق من عدم وجود حساب تيليجرام مسجل برقمك دون إذنك:
بالنسبة للأشخاص الذين لم يقوموا بتسجيل حساب على تيليجرام، يُفضل التحقق من عدم إنشاء حساب باستخدام رقمهم.
وقد رصدت شركة تيليجرام بلاغات عن محاولات اختراق تحدث بعد استقبال مكالمة من رقم دولي، تليها عملية إنشاء حساب تيليجرام باستخدام الرقم المستهدف.
تجدر الإشارة إلى أن مشكلة مشابهة كانت قد ظهرت مسبقًا في واتساب وتمت معالجتها، إلا أن المخترقين يحاولون الآن استغلال الثغرة نفسها في تيليجرام.
تعمل تيليجرام على دراسة الوضع وتقييم مستوى المخاطر بهدف تطوير حلول مناسبة.
وفي هذه الأثناء، ننصح المستخدمين بالالتزام بالخطوات التالية لتعزيز حماية حساباتهم:
1. تفعيل المصادقة الثنائية في حساب تيليجرام:
يُنصح بتفعيل ميزة التحقق بخطوتين لحماية الحساب من أي محاولة وصول غير مصرح بها.
2. التحقق من عدم وجود حساب تيليجرام مسجل برقمك دون إذنك:
بالنسبة للأشخاص الذين لم يقوموا بتسجيل حساب على تيليجرام، يُفضل التحقق من عدم إنشاء حساب باستخدام رقمهم.
لمحة 👀 برمجية
مؤخرًا انتشرت محاولات استغلال ثغرة أمنية تتيح للمخترقين إنشاء حسابات تيليجرام باستخدام أرقام هواتف دون إذن أصحابها. وقد رصدت شركة تيليجرام بلاغات عن محاولات اختراق تحدث بعد استقبال مكالمة من رقم دولي، تليها عملية إنشاء حساب تيليجرام باستخدام الرقم المستهدف.…
أحد الضحايا تم إختراق حسابه من قبل مخترق ياباني
لمحة 👀 برمجية
Photo
تعالى أقولك ليه تيلويند CSS تستحق الحب؟ ❤️
لو انت مطور ويب أكيد عارف الغلبة فالتعامل من التعامل مع ملفات CSS الكتيرة أو كتابة ستايلز متكررة، هنا بقا ييجي دور Tailwind CSS! 🚀
تيلويند مش مجرد مكتبة ستايلز، دي أداة بتغير نظرتك عن تصميم المواقع 🌟، وبتخليك تشتغل أسرع على مشروعك ⏩ ومن غير ملل 😌.
كل مرة بشتغل عليها بحس إني متحكم 100% في كل تفصيلة صغيرة من البروجكت🎯.
ليه Tailwind مميزة؟
🔹 أول سبب:
مش هتحتاج تكتب أي كود من الصفر! ✍️
ألوان 🎨 (Text color, Background color).
مسافات ↔️ (Margin, Padding).
خطوط ✒️ (Font sizes, Weights).
شغل الـ Responsive Design 📱🖥️ بقي حرفياً بكليك!
💡 ولو الكلاسات الجاهزة مش كفاية، تقدر تعدل كل حاجة على مزاجك ✨ أو تضيف معاها كلاسات مخصصة 💼. حرية إبداع بنسبة 100%! 🎉
🔹 تاني حاجة: سرعة الأداء ⚡
الكود النهائي بيكون خفيف جداً 🏎️، وده معناه سرعة تحميل أعلى 🔥.
🔹 تالت حاجة: سهولة التعلم 📘
حتى لو لسه مبتدئ، هتحس إنك حريف في كتابة الستايلز بسهولة استخدام الكلاسات 👍.
🔹 آخر حاجة: بتختصر الوقت ⏳
بتركز أكتر على التصميم بدل ما تضيع وقتك في تنسيق الكود وتنظيمه 🎨.
هل بقى جربت تيلويند قبل كده ولا لسه؟ 🤔
لو انت مطور ويب أكيد عارف الغلبة فالتعامل من التعامل مع ملفات CSS الكتيرة أو كتابة ستايلز متكررة، هنا بقا ييجي دور Tailwind CSS! 🚀
تيلويند مش مجرد مكتبة ستايلز، دي أداة بتغير نظرتك عن تصميم المواقع 🌟، وبتخليك تشتغل أسرع على مشروعك ⏩ ومن غير ملل 😌.
كل مرة بشتغل عليها بحس إني متحكم 100% في كل تفصيلة صغيرة من البروجكت🎯.
ليه Tailwind مميزة؟
🔹 أول سبب:
مش هتحتاج تكتب أي كود من الصفر! ✍️
ألوان 🎨 (Text color, Background color).
مسافات ↔️ (Margin, Padding).
خطوط ✒️ (Font sizes, Weights).
شغل الـ Responsive Design 📱🖥️ بقي حرفياً بكليك!
💡 ولو الكلاسات الجاهزة مش كفاية، تقدر تعدل كل حاجة على مزاجك ✨ أو تضيف معاها كلاسات مخصصة 💼. حرية إبداع بنسبة 100%! 🎉
🔹 تاني حاجة: سرعة الأداء ⚡
الكود النهائي بيكون خفيف جداً 🏎️، وده معناه سرعة تحميل أعلى 🔥.
🔹 تالت حاجة: سهولة التعلم 📘
حتى لو لسه مبتدئ، هتحس إنك حريف في كتابة الستايلز بسهولة استخدام الكلاسات 👍.
🔹 آخر حاجة: بتختصر الوقت ⏳
بتركز أكتر على التصميم بدل ما تضيع وقتك في تنسيق الكود وتنظيمه 🎨.
هل بقى جربت تيلويند قبل كده ولا لسه؟ 🤔
👍1
كيفية تغيير كلمة السر لحساب جوجل في حال نسيته
هناك خطوات بسيطة جدا لتغييرها بدون المطالبة بإدخال كلمة المرور القديمة والتي لا يمكنك تذكرها 🤔
1️⃣ من تطبيق الـ Gmail أو متصفح Google Chrome.
2️⃣ اضغط على صورة حسابك بالأعلى.
3️⃣ بعدها أداة حسابك على Google.
4️⃣ من الأعلى اسحب لليمين، واختر الأمان.
5️⃣ انزل قليلًا واضغط على كلمة المرور.
6️⃣ بعدها يطلب منك التأكيد بإستخدام بصمة الإصبع.
7️⃣ وبعد ذلك مباشرة، سيفتح معك بهذه الواجهة، كما في الصورة أدناه، ويمكنك إدخال كلمة مرور جديدة لحسابك.
8️⃣ بعد ذلك، اضغط على تغيير كلمة المرور .( ولا تنسى هذة المرة حفظها )
هناك خطوات بسيطة جدا لتغييرها بدون المطالبة بإدخال كلمة المرور القديمة والتي لا يمكنك تذكرها 🤔
1️⃣ من تطبيق الـ Gmail أو متصفح Google Chrome.
2️⃣ اضغط على صورة حسابك بالأعلى.
3️⃣ بعدها أداة حسابك على Google.
4️⃣ من الأعلى اسحب لليمين، واختر الأمان.
5️⃣ انزل قليلًا واضغط على كلمة المرور.
6️⃣ بعدها يطلب منك التأكيد بإستخدام بصمة الإصبع.
7️⃣ وبعد ذلك مباشرة، سيفتح معك بهذه الواجهة، كما في الصورة أدناه، ويمكنك إدخال كلمة مرور جديدة لحسابك.
8️⃣ بعد ذلك، اضغط على تغيير كلمة المرور .( ولا تنسى هذة المرة حفظها )
المعلومات الشخصية المُعرّفة او التعريفية personally identifiable information (PII)
هي أي معلومات يمكن من خلالها التعرف على الفرد أو تتبعه إما بشكل مباشر أو غير مباشر عند ربطها بمعلومات أخرى
مثل: الاسم، العنوان، رقم الضمان الاجتماعي، البصمة، رقم الهوية، رقم الهاتف، البريد الإلكتروني، تاريخ الميلاد، الموقع الجغرافي، البيانات الصحية، الحسابات البنكية، الخ
هذه البيانات تعتبر مهمة وخطيرة في حالة تم تسريبها او الحصول عليها بسهولة، وتعتبر جريمة انتحال الهوية بداية لجرائم أخرى مترتبة على ذلك في حال تم تسريب هذه البيانات.
الأطراف السيئة ممكن تستخدم هذه البيانات لإختراق حساباتك او انتحال شخصيتك امام الشركات والمؤسسات أو لاستهدافك حتى بأنواع أخرى من الهجوم مثل هجمات التصيد الاحتيالي، وممكن تكون حتى مفيدة في أنواع هجوم أخرى
من يجمع هذه البيانات؟
الحكومات، الشركات، البنوك، وأيضا الجهات الأخرى اللي انت تعطيهم هذه البيانات طواعية مثل المواقع الإلكترونية وخصوصا منصات التواصل الاجتماعي
ولحماية هذه البيانات، تفرض الدول والحكومات الكثير من القوانين لكيفية جمعها والحفاظ عليها ومدة الاحتفاظ بها، وأشهر هذه القوانين هو القوانين العامة لحماية البيانات المعروفة بGDPR التابعة للاتحاد الأوروبي
انت كمستخدم، احرص قدر الإمكان انك ما تعطي هذه البيانات بسهولة لأي شخص أو جهة أو شركة ما لم يكن ذلك ضروريا ولأسباب معروفة وموثوقة
اما كشركات ومؤسسات، ينبغي ان تكون صريحة في أسباب جمع هذه البيانات، ومدة الاحتفاظ بها، وكيفية حذفها او تعديلها أو الاطلاع عليها وماهي إجراءات تخزينها ونقلها وأماكن حفظها وطبيعة استخدام هذه البيانات، وبمعنى آخر ينبغي الأخذ بعين الاعتبار هذه النقاط والخصوصية منذ تصميم المنتج او الخدمة (Privacy by Design)
هي أي معلومات يمكن من خلالها التعرف على الفرد أو تتبعه إما بشكل مباشر أو غير مباشر عند ربطها بمعلومات أخرى
مثل: الاسم، العنوان، رقم الضمان الاجتماعي، البصمة، رقم الهوية، رقم الهاتف، البريد الإلكتروني، تاريخ الميلاد، الموقع الجغرافي، البيانات الصحية، الحسابات البنكية، الخ
هذه البيانات تعتبر مهمة وخطيرة في حالة تم تسريبها او الحصول عليها بسهولة، وتعتبر جريمة انتحال الهوية بداية لجرائم أخرى مترتبة على ذلك في حال تم تسريب هذه البيانات.
الأطراف السيئة ممكن تستخدم هذه البيانات لإختراق حساباتك او انتحال شخصيتك امام الشركات والمؤسسات أو لاستهدافك حتى بأنواع أخرى من الهجوم مثل هجمات التصيد الاحتيالي، وممكن تكون حتى مفيدة في أنواع هجوم أخرى
من يجمع هذه البيانات؟
الحكومات، الشركات، البنوك، وأيضا الجهات الأخرى اللي انت تعطيهم هذه البيانات طواعية مثل المواقع الإلكترونية وخصوصا منصات التواصل الاجتماعي
ولحماية هذه البيانات، تفرض الدول والحكومات الكثير من القوانين لكيفية جمعها والحفاظ عليها ومدة الاحتفاظ بها، وأشهر هذه القوانين هو القوانين العامة لحماية البيانات المعروفة بGDPR التابعة للاتحاد الأوروبي
انت كمستخدم، احرص قدر الإمكان انك ما تعطي هذه البيانات بسهولة لأي شخص أو جهة أو شركة ما لم يكن ذلك ضروريا ولأسباب معروفة وموثوقة
اما كشركات ومؤسسات، ينبغي ان تكون صريحة في أسباب جمع هذه البيانات، ومدة الاحتفاظ بها، وكيفية حذفها او تعديلها أو الاطلاع عليها وماهي إجراءات تخزينها ونقلها وأماكن حفظها وطبيعة استخدام هذه البيانات، وبمعنى آخر ينبغي الأخذ بعين الاعتبار هذه النقاط والخصوصية منذ تصميم المنتج او الخدمة (Privacy by Design)
OSI 7 layers attacks
لنتعرف على الهجمات التي يمكن استغلالها في كل طبقة من طبقات OSI.
الرمز: الإشارة
♻️:الطبقة
⚜: الهجمات التي تحدث في هذه الطبقة
♻️1. الطبقة الفيزيائية Physical Layer 💣
⚜- هجوم الوصول غير المصرح به:
حيث يشمل ذلك الأشخاص الذين يحاولون الوصول إلى الأجهزة أو الشبكات المادية بدون إذن أو العبث بمحتوى الكوابل والأجهزة المادية مثل أجهزة الشبكة Switches التي تكون في خارج نطاق غرفة مركز البيانات.
وعلى سبيل المثال فتح الأقفال بطرق غير قانونية أو الاختراق إلى غرفة مركز البيانات Data Center ☠ والعبث في محتويات الاجهزة الداخلية
♻️2. طبقة ربط البيانات Data link Layer 💥
⚜ARP Spoofing:
حيث يتم استغلال ضعف بروتوكول ARP لتزوير عناوين MAC وإرسال حزم البيانات إلى عناوين غير صحيحة مما يؤدي إلى توجيه حزم البيانات إلى جهاز هجومي بدلاً من المستلم الصحيح.
⚜- MAC Flooding:
هجوم تجاوز استنزاف جداول عناوين MAC في الأجهزة الشبكية المحلية عن طريق إرسال كمية كبيرة من حزم البيانات بعناوين MAC مزيفة مما يتسبب في تعطيل الشبكة أو إحداث اضطرابات في الأداء.
♻️3. طبقة الشبكة Network Layer :
⚜- IP Spoofing:
يتم استغلال ضعف في بروتوكول IP لتزوير عناوين IP المصدرية لحزم البيانات مما يسمح للمهاجم بالتنكر وإرسال حزم البيانات بصفة غير مصرح بها.
⚜- هجمات التوجيه (Routing Attacks):
تشمل هجمات تعطيل الخدمة (DoS) وهجمات تحويل المسار (Man-in-the-Middle) وهجمات تعديل التوجيه، حيث يتم التلاعب بإعدادات التوجيه لتوجيه حزم البيانات إلى وجهات غير مصرح بها.
♻️4. طبقة النقل Transport :
⚜- هجمات انكشاف الحزم (Packet Sniffing):
حيث يتم استخدام أدوات مثل برامج تجسس الشبكة لاستماع وتحليل حزم البيانات المرسلة عبر الشبكة مما يسمح للمهاجم بالوصول إلى المعلومات الحساسة مثل اسم المستخدم وكلمات المرور.
⚜- هجمات اختراق الاتصال (Connection Hijacking ):
يتم اختراق الاتصال النشط بين جهازين واستغلاله لتنفيذ هجمات ضارة أو سرقة بيانات.
♻️5. طبقة الجلسة Session Layer 🚫
⚜- هجمات اختراق الجلسة (Session Hijacking):
يتم استغلال ضعف في آليات المصادقة والتحقق من الجلسة للوصول إلى جلسة نشطة والتلاعب بها أوسرقتها.
♻️6. طبقة العرض Presentation Layer 📵
⚜- هجمات الاختراق (Presentation Attacks):
تستهدف ضعف في تنسيق البيانات وتداخل البروتوكولات وتتضمن هجمات مثل حقن الشفرة (Code Injection) وهجمات فحص الشفرة الضارة (Malware Code Scanning).
♻️7. طبقة التطبيق Application Layer ❗️
⚜- هجمات تطبيق الويب (Web Application Attacks):
تشمل هجمات الحقن (Injection Attacks) مثل SQL Injection وXSS (Cross-Site Scripting) وهجمات اختراق الجلسة (Session Hijacking) وهجمات رفع الملفات (File Upload Attacks).
⚜- هجمات سرقة الهوية (Identity Theft Attacks):
حيث تستهدف استيلاء المعلومات الشخصية والاعتداء على حسابات المستخدمين، وتشمل هجمات الاستنساخ (Phishing) والتصيد (Spear Phishing) والتصيد الهجين (Whaling) وتسمى أيضاً انتحال الشخصية.
🔻هذه هي بعض الأمثلة على الهجمات التي يمكن استغلالها في كل طبقة من طبقات OSI.
🔰ملاحظة🔰
هذه القائمة ليست شاملة بالكامل فهناك العديد من الهجمات الأخرى الممكنة في كل طبقة ولكن تحتاج لتفاصيل أكثر تعمق ودقة وسيتم التحدث عنها في ما بعد.
لنتعرف على الهجمات التي يمكن استغلالها في كل طبقة من طبقات OSI.
الرمز: الإشارة
♻️:الطبقة
⚜: الهجمات التي تحدث في هذه الطبقة
♻️1. الطبقة الفيزيائية Physical Layer 💣
⚜- هجوم الوصول غير المصرح به:
حيث يشمل ذلك الأشخاص الذين يحاولون الوصول إلى الأجهزة أو الشبكات المادية بدون إذن أو العبث بمحتوى الكوابل والأجهزة المادية مثل أجهزة الشبكة Switches التي تكون في خارج نطاق غرفة مركز البيانات.
وعلى سبيل المثال فتح الأقفال بطرق غير قانونية أو الاختراق إلى غرفة مركز البيانات Data Center ☠ والعبث في محتويات الاجهزة الداخلية
♻️2. طبقة ربط البيانات Data link Layer 💥
⚜ARP Spoofing:
حيث يتم استغلال ضعف بروتوكول ARP لتزوير عناوين MAC وإرسال حزم البيانات إلى عناوين غير صحيحة مما يؤدي إلى توجيه حزم البيانات إلى جهاز هجومي بدلاً من المستلم الصحيح.
⚜- MAC Flooding:
هجوم تجاوز استنزاف جداول عناوين MAC في الأجهزة الشبكية المحلية عن طريق إرسال كمية كبيرة من حزم البيانات بعناوين MAC مزيفة مما يتسبب في تعطيل الشبكة أو إحداث اضطرابات في الأداء.
♻️3. طبقة الشبكة Network Layer :
⚜- IP Spoofing:
يتم استغلال ضعف في بروتوكول IP لتزوير عناوين IP المصدرية لحزم البيانات مما يسمح للمهاجم بالتنكر وإرسال حزم البيانات بصفة غير مصرح بها.
⚜- هجمات التوجيه (Routing Attacks):
تشمل هجمات تعطيل الخدمة (DoS) وهجمات تحويل المسار (Man-in-the-Middle) وهجمات تعديل التوجيه، حيث يتم التلاعب بإعدادات التوجيه لتوجيه حزم البيانات إلى وجهات غير مصرح بها.
♻️4. طبقة النقل Transport :
⚜- هجمات انكشاف الحزم (Packet Sniffing):
حيث يتم استخدام أدوات مثل برامج تجسس الشبكة لاستماع وتحليل حزم البيانات المرسلة عبر الشبكة مما يسمح للمهاجم بالوصول إلى المعلومات الحساسة مثل اسم المستخدم وكلمات المرور.
⚜- هجمات اختراق الاتصال (Connection Hijacking ):
يتم اختراق الاتصال النشط بين جهازين واستغلاله لتنفيذ هجمات ضارة أو سرقة بيانات.
♻️5. طبقة الجلسة Session Layer 🚫
⚜- هجمات اختراق الجلسة (Session Hijacking):
يتم استغلال ضعف في آليات المصادقة والتحقق من الجلسة للوصول إلى جلسة نشطة والتلاعب بها أوسرقتها.
♻️6. طبقة العرض Presentation Layer 📵
⚜- هجمات الاختراق (Presentation Attacks):
تستهدف ضعف في تنسيق البيانات وتداخل البروتوكولات وتتضمن هجمات مثل حقن الشفرة (Code Injection) وهجمات فحص الشفرة الضارة (Malware Code Scanning).
♻️7. طبقة التطبيق Application Layer ❗️
⚜- هجمات تطبيق الويب (Web Application Attacks):
تشمل هجمات الحقن (Injection Attacks) مثل SQL Injection وXSS (Cross-Site Scripting) وهجمات اختراق الجلسة (Session Hijacking) وهجمات رفع الملفات (File Upload Attacks).
⚜- هجمات سرقة الهوية (Identity Theft Attacks):
حيث تستهدف استيلاء المعلومات الشخصية والاعتداء على حسابات المستخدمين، وتشمل هجمات الاستنساخ (Phishing) والتصيد (Spear Phishing) والتصيد الهجين (Whaling) وتسمى أيضاً انتحال الشخصية.
🔻هذه هي بعض الأمثلة على الهجمات التي يمكن استغلالها في كل طبقة من طبقات OSI.
🔰ملاحظة🔰
هذه القائمة ليست شاملة بالكامل فهناك العديد من الهجمات الأخرى الممكنة في كل طبقة ولكن تحتاج لتفاصيل أكثر تعمق ودقة وسيتم التحدث عنها في ما بعد.
عام 1995
عندما ارسل Tatu مطور الـ SSH رسالة لـ IANA يشرح فيها كيف برنامجه يحسن الأمان في الشبكات ويمنع انتحال الهويات والاختراق. طلب منهم يعطوه بورت خاص للبرنامج، وفضّل يكون في النطاق 1-255.
الرد جاء اليوم الثاني من Joyce:
"تم تخصيص البورت 22 للـ SSH"
وهكذا، الـ SSH أصبح مرتبط بالبورت 22 مدى الحياة
التاريخ جميل... وخاصة التاريخ التقني 👍
عندما ارسل Tatu مطور الـ SSH رسالة لـ IANA يشرح فيها كيف برنامجه يحسن الأمان في الشبكات ويمنع انتحال الهويات والاختراق. طلب منهم يعطوه بورت خاص للبرنامج، وفضّل يكون في النطاق 1-255.
الرد جاء اليوم الثاني من Joyce:
"تم تخصيص البورت 22 للـ SSH"
وهكذا، الـ SSH أصبح مرتبط بالبورت 22 مدى الحياة
التاريخ جميل... وخاصة التاريخ التقني 👍
❤1
TalwindCss 4 beta نزلت
https://tailwindcss.com/blog/tailwindcss-v4-beta
مميزات رهيبه
وهذا فيديو مدته ساعه يستعرض فيها ادم (المؤسس) المميزات الجديدة:
https://www.youtube.com/watch?v=vhcntygYBsI&t=1447s
+ التعديلات الجديده في تيلويند كتبوها ب rust 🦀
https://tailwindcss.com/blog/tailwindcss-v4-beta
مميزات رهيبه
وهذا فيديو مدته ساعه يستعرض فيها ادم (المؤسس) المميزات الجديدة:
https://www.youtube.com/watch?v=vhcntygYBsI&t=1447s
+ التعديلات الجديده في تيلويند كتبوها ب rust 🦀
Tailwindcss
Tailwind CSS v4.0 Beta 1
After a long alpha period, we're excited to release the first public beta of Tailwind CSS v4.0.
👍1
Vite 6.0
احس الناس في سباق كل واحد ينزل اصدار جديد بمميزات حلوه 🔥
https://vite.dev/blog/announcing-vite6.html
احس الناس في سباق كل واحد ينزل اصدار جديد بمميزات حلوه 🔥
https://vite.dev/blog/announcing-vite6.html
php 8.4
https://www.php.net/releases/8.4/en.php
ايوه... ال php ما زالت موجوده وبتحديثات مستمرة... من قال لكم انها ماتت!!؟
تقريبا 77% من المواقع في العالم تشتغل php
و 20% من أقوى وافضل 10 الف المواقع زيارة في العالم
ربع مبرمجين الويب 25% يفضلو استخدام php في مشاريعهم
تقريبا 6% من المطورين كل عام يشتو يتعلمو php
تقريبا 700 الف نتيجه بحث في Google على مصطلح php كل شهر
https://www.php.net/releases/8.4/en.php
ايوه... ال php ما زالت موجوده وبتحديثات مستمرة... من قال لكم انها ماتت!!؟
تقريبا 77% من المواقع في العالم تشتغل php
و 20% من أقوى وافضل 10 الف المواقع زيارة في العالم
ربع مبرمجين الويب 25% يفضلو استخدام php في مشاريعهم
تقريبا 6% من المطورين كل عام يشتو يتعلمو php
تقريبا 700 الف نتيجه بحث في Google على مصطلح php كل شهر
❤2