بحث باسم الموضوع المطلوب

شركة Figma تفتح الباب للجميع مع أداة Make المجانية لتوليد المواقع! ⚡️



أعلنت Figma عن إتاحة أداة Make لتوليد المواقع بشكل مجاني للجميع! هذه الأداة المدعومة بالذكاء الاصطناعي، والتي تعتمد على نموذج Claude Sonnet 4، تتيح لك إنشاء مواقع وخدمات إلكترونية بسهولة من خلال وصف فكرتك باللغة الطبيعية، دون الحاجة إلى كتابة أي كود برمجي. 🚀


ما الذي يمكن لـ Make فعله؟ 🔍

- توليد نماذج أولية: يمكنك إنشاء نموذج أولي لموقعك وتخصيصه حسب تصميمك الخاص. 🎨

- تحرير مرن: يتيح لك تعديل كل عنصر على الصفحة بسهولة. ✏️

- عمل مباشر في المتصفح: لا حاجة لتثبيت أي برامج، كل شيء يعمل عبر الإنترنت. 🌐

- استضافة داخل Figma: يمكنك استضافة موقعك مباشرة من خلال منصة Figma. 🖥️

‏كيف تتم هجمات فيروسات الفدية

 


أنواع الهجمات السيبرانية all attack



1. التصيد الاحتيالي 

2. Man-in-the- Middle Attack 

3. البرمجة النصية عبر المواقع (XXS)

4. حقن SQL 

5. هجوم DDoS 

6. هجوم كلمة المرور 

7. الهجمات المدعومة بالذكاء الاصطناعي

8. هجمات الفدية الخبيثة

9. هجوم التنصت

لإنشاء تأثير التوهج (Glow) والزجاج (Glassmorphism) في فيجما (Figma)

 


لإنشاء تأثير التوهج (Glow) والزجاج (Glassmorphism) في فيجما (Figma) لتصميم  (UI/UX)، يمكنك استخدام مجموعة من التأثيرات والخصائص. إليك الخطوات بالتفصيل لكل منهما:

1. كيفية عمل تأثير التوهج (Glow Effect)

تأثير التوهج يعتمد بشكل أساسي على استخدام خاصية الظل الداخلي (Inner Shadow) أو الظل الخارجي (Drop Shadow) مع إعدادات معينة.

الخطوات:

إنشاء الشكل: ابدأ بإنشاء الشكل الذي تريده أن يتوهج (مثل زر، أيقونة، أو نص).

إضافة تأثير الظل (Effect):

حدد الشكل.

في لوحة الخصائص على اليمين (Properties panel)، ابحث عن قسم "Effects".

انقر على علامة "+" لإضافة تأثير جديد. بشكل افتراضي، سيظهر "Drop Shadow".

تعديل إعدادات الظل للتوهج:

Drop Shadow (توهج خارجي): X و Y: اجعلها "0" ليكون التوهج متساوياً حول الكائن.

Blur (التمويه): زد قيمة التمويه بشكل كبير (مثلاً، 20-50 أو أكثر حسب الحجم المرغوب للتوهج).

Spread (الانتشار): يمكنك زيادة هذه القيمة قليلاً لجعل الظل أكثر انتشارًا قبل التمويه (أحياناً لا تكون ضرورية للتوهج).

Color (اللون): اختر لون التوهج الذي تريده (عادةً ما يكون لونًا فاتحًا أو مشرقًا)، وزد قيمة الشفافية (Opacity) لجعله يبدو أكثر إشراقًا (مثلاً، 50%-100%).

Inner Shadow (توهج داخلي - لإعطاء تأثير توهج من الداخل):

يمكنك استخدام "Inner Shadow" بنفس الطريقة إذا كنت تريد تأثير توهج يأتي من داخل العنصر.

طبق نفس الإعدادات (X=0, Y=0, Blur عالي, اللون المطلوب).

تعديلات إضافية (اختياري):

طبقات متعددة من التوهج: للحصول على توهج أكثر تعقيدًا، يمكنك إضافة عدة تأثيرات "Drop Shadow" أو "Inner Shadow" بنفس اللون ولكن بقيم تمويه مختلفة (واحدة بتمويه أقل وأكثر كثافة، وأخرى بتمويه أكبر وأكثر انتشارًا) مع تغيير الشفافية لكل طبقة.

لون الشكل: تأكد من أن لون الشكل الأساسي يتناسق مع لون التوهج.

مثال تطبيقي: إذا كان لديك زر أزرق وتريد توهجًا أزرق حوله، اختر لون ظل أزرق فاتح جداً أو أبيض مع شفافية عالية، ثم زد الـ Blur.

2. كيفية عمل تأثير الزجاج (Glassmorphism Effect)

تأثير الزجاج يعتمد على الشفافية، التمويه (Blur)، وحدود طفيفة.

الخطوات:

إنشاء الشكل الخلفي (Background Shape):

تأثير الزجاج يعمل بشكل أفضل عندما يكون هناك شيء ما (صورة، تدرج لوني، أو أشكال أخرى) في الخلفية ليتأثر بالتمويه.

ضع صورة أو ألوانًا خلف العنصر الزجاجي.

إنشاء لوح الزجاج (Glass Pane):

ارسم شكلاً (مستطيل، دائرة، إلخ) ليمثل لوح الزجاج الخاص بك وضعه فوق الخلفية.

تعبئة لوح الزجاج (Fill):

حدد لوح الزجاج.

في قسم "Fill"، اختر لونًا (عادةً ما يكون أبيض أو رمادي فاتح) وقلل الشفافية (Opacity) بشكل كبير (مثلاً، 5% - 20%). هذا سيجعله شبه شفاف.

إضافة تأثير الخلفية الضبابية (Background Blur Effect): هذا هو العنصر الأساسي لتأثير الزجاج.

مع تحديد لوح الزجاج، اذهب إلى قسم "Effects".

انقر على "+" وأغير "Drop Shadow" إلى "Background Blur" من القائمة المنسدلة.

Blur (التمويه): زد قيمة التمويه (مثلاً، 10-30). ستلاحظ أن ما يقع خلف هذا الشكل أصبح ضبابيًا.

إضافة حدود طفيفة (Subtle Border): (اختياري لكن يضيف واقعية)

مع تحديد لوح الزجاج، اذهب إلى قسم "Stroke".

أضف حدودًا بلون فاتح جداً (مثل الأبيض أو لون قريب من لون الشكل) وقلل الشفافية بشكل كبير (مثلاً، 10% - 30%) مع سمك 1 بكسل. هذا يعطي إحساسًا بحافة الزجاج.

إضافة ظل خفيف (Subtle Drop Shadow): (اختياري)

يمكنك إضافة "Drop Shadow" خفيف جداً (X=0, Y=4-8, Blur=10-20, Color أسود شفافية 5-10%) لإعطاء إحساس بالعمق.

تأثير اللمعان (Highlight - اختياري):

لإضافة لمسة لمعان، يمكنك رسم خط رفيع أو شكل بيضاوي صغير بلون أبيض شفاف جداً (مثلاً، 20-40%) في زاوية لوح الزجاج، أو على حافته العلوية/اليسرى.

يمكنك تطبيق "Layer Blur" على هذا الشكل لجعله يبدو أكثر نعومة.

نصائح عامة:

التجربة: لا تخف من تجربة قيم مختلفة للشفافية، التمويه، الألوان، ومزج التأثيرات للحصول على النتيجة المطلوبة.

الخلفية: للحصول على أفضل تأثير للزجاج، تأكد من أن الخلفية التي تقع خلف العنصر الزجاجي بها تفاصيل أو ألوان كافية لتظهر الضبابية بشكل واضح.

 الأداء: كثرة استخدام تأثيرات التوهج والزجاج، خاصةً على أشكال متعددة، قد يؤثر على أداء فيجما قليلاً عند التعامل مع ملفات كبيرة.


زر Switch نيومورفيك داكن بتوهج أزرق في Figma، كيف تنفّذ هذا الزر بنفس التصميم في Flutter بخطوات منظمة:

 


زر Switch نيومورفيك داكن بتوهج أزرق في Figma، كيف تنفّذ هذا الزر بنفس التصميم في Flutter بخطوات منظمة:




✅ النتيجة النهائية:


زر تبديل (ON/OFF) أنيق بتصميم نيومورفيك داكن، مع توهج أزرق عند التفعيل، ومؤشر متحرك سلس.



---


✅ أولاً: المكتبات المطلوبة


dependencies:

  flutter:

    sdk: flutter

  flutter_neumorphic: ^3.3.0  # لتصميم النيومورفيك



---


✅ ثانياً: الكود الكامل


import 'package:flutter/material.dart';

import 'package:flutter_neumorphic/flutter_neumorphic.dart';


class NeumorphicSwitch extends StatefulWidget {

  @override

  _NeumorphicSwitchState createState() => _NeumorphicSwitchState();

}


class _NeumorphicSwitchState extends State<NeumorphicSwitch> {

  bool isOn = false;


  @override

  Widget build(BuildContext context) {

    return GestureDetector(

      onTap: () => setState(() => isOn = !isOn),

      child: AnimatedContainer(

        duration: Duration(milliseconds: 300),

        width: 140,

        height: 56,

        padding: EdgeInsets.symmetric(horizontal: 4),

        decoration: BoxDecoration(

          color: Color(0xFF121212),

          borderRadius: BorderRadius.circular(100),

          boxShadow: [

            // ظل خارجي

            BoxShadow(

              color: Colors.black.withOpacity(0.7),

              offset: Offset(0, 4),

              blurRadius: 10,

            ),

            // ظل داخلي

            BoxShadow(

              color: Colors.black.withOpacity(0.25),

              offset: Offset(0, 2),

              blurRadius: 6,

              spreadRadius: -1,

            ),

          ],

        ),

        child: Stack(

          alignment: Alignment.center,

          children: [

            // توهج خلفي عند التفعيل

            if (isOn)

              Positioned(

                right: 0,

                left: 70,

                child: Container(

                  height: 56,

                  decoration: BoxDecoration(

                    gradient: LinearGradient(

                      colors: [Color(0xFF00CFFF), Color(0xFF0066FF)],

                      begin: Alignment.centerLeft,

                      end: Alignment.centerRight,

                    ),

                    borderRadius: BorderRadius.circular(100),

                  ),

                  child: BackdropFilter(

                    filter: ImageFilter.blur(sigmaX: 25, sigmaY: 25),

                    child: Container(

                      color: Colors.transparent,

                    ),

                  ),

                ),

              ),


            // النص

            Positioned(

              right: 20,

              child: AnimatedOpacity(

                duration: Duration(milliseconds: 200),

                opacity: isOn ? 1.0 : 0.0,

                child: Text(

                  "ON",

                  style: TextStyle(

                    color: Colors.white,

                    fontWeight: FontWeight.bold,

                    fontSize: 14,

                    shadows: [

                      Shadow(

                        color: Colors.cyanAccent.withOpacity(0.5),

                        blurRadius: 10,

                      )

                    ],

                  ),

                ),

              ),

            ),


            // المؤشر الدائري

            AnimatedAlign(

              duration: Duration(milliseconds: 300),

              alignment: isOn ? Alignment.centerRight : Alignment.centerLeft,

              child: Container(

                width: 52,

                height: 52,

                decoration: BoxDecoration(

                  color: Color(0xFF2A2A2A),

                  shape: BoxShape.circle,

                  boxShadow: [

                    BoxShadow(

                      color: Colors.cyanAccent.withOpacity(0.4),

                      blurRadius: 15,

                      spreadRadius: 1,

                    ),

                  ],

                ),

                child: Center(

                  child: Container(

                    width: 6,

                    height: 6,

                    decoration: BoxDecoration(

                      color: Colors.white24,

                      shape: BoxShape.circle,

                    ),

                  ),

                ),

              ),

            ),

          ],

        ),

      ),

    );

  }

}



---


✅ ثالثاً: استخدام الزر في الشاشة


void main() {

  runApp(

    MaterialApp(

      debugShowCheckedModeBanner: false,

      home: Scaffold(

        backgroundColor: Color(0xFF0D0D0D),

        body: Center(

          child: NeumorphicSwitch(),

        ),

      ),

    ),

  );

}



---


✅ ملاحظات إضافية:


يمكنك إضافة AnimatedSwitcher للنص لإضفاء سلاسة أكثر.


هذا التصميم متجاوب جزئيًا، ويمكن تعديله ليعمل على مختلف الشاشات بسهولة.


التوهج الأزرق تم بمحاكاة باستخدام BoxShadow وLinearGradient مع BackdropFilter.




---


هل تحب أجهز لك نسخة هذا التصميم كـ Component جاهز رائع! بما أنك صممت زر Switch نيومورفيك داكن بتوهج أزرق في Figma، الآن سأوضح لك كيف تنفّذ هذا الزر بنفس التصميم في Flutter بخطوات منظمة:



---


✅ النتيجة النهائية:


زر تبديل (ON/OFF) أنيق بتصميم نيومورفيك داكن، مع توهج أزرق عند التفعيل، ومؤشر متحرك سلس.



---


✅ أولاً: المكتبات المطلوبة


dependencies:

  flutter:

    sdk: flutter

  flutter_neumorphic: ^3.3.0  # لتصميم النيومورفيك



---


✅ ثانياً: الكود الكامل


import 'package:flutter/material.dart';

import 'package:flutter_neumorphic/flutter_neumorphic.dart';


class NeumorphicSwitch extends StatefulWidget {

  @override

  _NeumorphicSwitchState createState() => _NeumorphicSwitchState();

}


class _NeumorphicSwitchState extends State<NeumorphicSwitch> {

  bool isOn = false;


  @override

  Widget build(BuildContext context) {

    return GestureDetector(

      onTap: () => setState(() => isOn = !isOn),

      child: AnimatedContainer(

        duration: Duration(milliseconds: 300),

        width: 140,

        height: 56,

        padding: EdgeInsets.symmetric(horizontal: 4),

        decoration: BoxDecoration(

          color: Color(0xFF121212),

          borderRadius: BorderRadius.circular(100),

          boxShadow: [

            // ظل خارجي

            BoxShadow(

              color: Colors.black.withOpacity(0.7),

              offset: Offset(0, 4),

              blurRadius: 10,

            ),

            // ظل داخلي

            BoxShadow(

              color: Colors.black.withOpacity(0.25),

              offset: Offset(0, 2),

              blurRadius: 6,

              spreadRadius: -1,

            ),

          ],

        ),

        child: Stack(

          alignment: Alignment.center,

          children: [

            // توهج خلفي عند التفعيل

            if (isOn)

              Positioned(

                right: 0,

                left: 70,

                child: Container(

                  height: 56,

                  decoration: BoxDecoration(

                    gradient: LinearGradient(

                      colors: [Color(0xFF00CFFF), Color(0xFF0066FF)],

                      begin: Alignment.centerLeft,

                      end: Alignment.centerRight,

                    ),

                    borderRadius: BorderRadius.circular(100),

                  ),

                  child: BackdropFilter(

                    filter: ImageFilter.blur(sigmaX: 25, sigmaY: 25),

                    child: Container(

                      color: Colors.transparent,

                    ),

                  ),

                ),

              ),


            // النص

            Positioned(

              right: 20,

              child: AnimatedOpacity(

                duration: Duration(milliseconds: 200),

                opacity: isOn ? 1.0 : 0.0,

                child: Text(

                  "ON",

                  style: TextStyle(

                    color: Colors.white,

                    fontWeight: FontWeight.bold,

                    fontSize: 14,

                    shadows: [

                      Shadow(

                        color: Colors.cyanAccent.withOpacity(0.5),

                        blurRadius: 10,

                      )

                    ],

                  ),

                ),

              ),

            ),


            // المؤشر الدائري

            AnimatedAlign(

              duration: Duration(milliseconds: 300),

              alignment: isOn ? Alignment.centerRight : Alignment.centerLeft,

              child: Container(

                width: 52,

                height: 52,

                decoration: BoxDecoration(

                  color: Color(0xFF2A2A2A),

                  shape: BoxShape.circle,

                  boxShadow: [

                    BoxShadow(

                      color: Colors.cyanAccent.withOpacity(0.4),

                      blurRadius: 15,

                      spreadRadius: 1,

                    ),

                  ],

                ),

                child: Center(

                  child: Container(

                    width: 6,

                    height: 6,

                    decoration: BoxDecoration(

                      color: Colors.white24,

                      shape: BoxShape.circle,

                    ),

                  ),

                ),

              ),

            ),

          ],

        ),

      ),

    );

  }

}



---

تسميم البيانات (Data Poisoning)



كيف تخدع التتبع؟

🔍 المشكلة:

- انظمة التتبع الحديثة تتعقبك حتى مع VPN او AdBlock (بدون ملفات تعريف الارتباط او موافقة).  

- تستخدم خوارزميات الذكاء الاصطناعي لتحليل سلوكك (مثل نقراتك، وقت التصفح، etc).  


🛑 الحل: تسميم الخوارزمية (Data Poisoning)

- الفكرة: اغراق انظمة التتبع ببيانات مزيفة/ضوضاء لجعل تحليلاتها عديمة الفائدة.  

  - مثال: اذا كانت الخوارزمية تتعقب مشترياتك، ابحث عشوائيًا عن منتجات لا علاقة لها بك.  

  - استخدم ادوات مثل AdNauseam (تضغط على كل اعلان تلقائيًا لتخريب بياناتك).  


⚡ كيف تبدأ؟

1. اضف ضوضاء لتصفحك:  

   - افتح صفحات عشوائية في خلفية المتصفح (باستخدام اضافات مثل TrackMeNot ).  

2. عبث ببياناتك الديموغرافية:  

   - ادخل اعمار/اهتمامات/مواقع مزيفة في استمارات التسوق.  

3. استخدم متصفحات مقاومة للتتبع:  

   - مثل Tor او Brave مع تفعيل ميزة تضليل بصمة المتصفح.  


🎯 الهدف النهائي:

- جعل بياناتك غير قابلة للاستغلال بواسطة الخوارزميات.  

- تحويلك من هدف سه الى لغز محير لانظمة التتبع.  

لا يمكنهم انتهاك خصوصيتك اذا لم يعرفوا ما هي الحقيقة🔐  

UI/UX لإنشاء زر التبديل (Switch) بهذا الشكل الاحترافي في Figma العنوان      عرض HTML  عرض وضع الإنشاء      العنوان الرئيسي العنوان العنوان الفرعي العنوان الثانوي فقرة عادي             محاذاة لليسار  محاذاة للوسط  محاذاة لليمين  ضبط             إعدادات المشاركات  التصنيفات  فصل التصنيفات بفواصل ما مِن اقتراحات مطابِقة تم النشر في 27‏/7‏/2025 9:27 م  رابط ثابت  الموقع  خيارات  جارٍ إنشاء مشاركة جديدة...



 UI/UX 

لإنشاء زر التبديل (Switch) بهذا الشكل الاحترافي في Figma (نيومورفيك داكن مع توهج أزرق)، اتبع هذه الخطوات: 


✅ الخطوة 1: إعداد الإطار الأساسي (القاعدة)

1. أداة المستطيل الدائري (Rounded Rectangle)

العرض: 140px

الارتفاع: 56px

الزوايا: 100% (لجعله بيضاوي)

2. اللون:

Fill: #1A1A1A أو #121212 (لون داكن)

3. الظل الداخلي (Inner Shadow):

X: 0, Y: 2, Blur: 6, Color: #00000040

Type: Inner shadow

4. الظل الخارجي (Drop Shadow):

X: 0, Y: 4, Blur: 10, Color: #00000070


✅ الخطوة 2: الدائرة القابلة للتحريك (المؤشر)

1. ارسم دائرة بحجم 52px

اللون: #2A2A2A أو نفس لون القاعدة

أضف تفاصيل نقطية في المنتصف (دوائر صغيرة بـ Repeat Grid)

2. تأثيرات:

Inner Shadow: خفيف جدًا بلون غامق

Outer Glow: (لون أزرق خفيف للتوهج الجانبي)

Color: #00CFFF

Blur: 10~15, Opacity: 30~40%


✅ الخطوة 3: خلفية التوهج الأزرق (عند التفعيل)

1. استخدم شكل بيضاوي أو مستطيل دائري يغطي النصف الأيمن من القاعدة.

2. اللون: تدرج لوني (Gradient Fill):

من #00CFFF إلى #0066FF

اجعلها شفافة من الجهة اليسرى

3. أضف عليه تأثير:

Layer Blur: 20~40

أو استخدم Blending Mode: Screen أو Plus Lighter


✅ الخطوة 4: النص (ON)

1. ضع نص “ON” داخل التوهج على اليمين

الخط: Bold

اللون: #FFFFFF مع Shadow خفيف أو Outer Glow

الحجم: 14~16px


✅ نصيحة لإضافة تفاعل (Prototype):

استخدم Prototype tab لعمل تبديل بين حالتين:

حالة (ON): التوهج ظاهر + المؤشر على اليمين

حالة (OFF): التوهج مخفي + المؤشر على اليسار

‏لو شغال JavaScript او ناوي تتعلمها بجد لازم تشوف على airbnb

‏هذا airbnb يعتبر مرجع لاي واحد يشتي يكتب كود نظيف واحترافي نفس اللي بيستخدموه في الشركات الكبيرة

✔️ ويعلمك تكتب الكود بالطريقة الصح

✔️ تفهم الفرق بين الاسلوب التمام والاسلوب اللي ممكن يسببلك مشاكل

✔️ فيه امثلة حقيقية تسهل عليك تطبق الكلام كلة في شغلك


‏مش مجرد دليل ولكن خطوة لقدام في مسيرتك كمطور.


‏ هنا:


https://github.com/airbnb/javascript/

‏شريحة SIM ليست مجرد قطعة بلاستيك، بل تحتوي على دائرة ذكية تتواصل مع جوالك بشكل مستمر.



‏Vcc

‏هو خط التغذية الكهربائية للشريحة.

‏بدون هذا الطرف، الشريحة لا تعمل نهائيًا.

‏Reset

‏يستخدم لإعادة تشغيل الشريحة عند تشغيل الجوال أو إعادة الاتصال بالشبكة، لكي تتهيأ للعمل من جديد

‏Clock

‏وظيفته تزويد الشريحة بإشارة تزامن (Clock Signal) لتنظيم سرعة وإيقاع نقل البيانات بينها وبين الجوال

‏Ground (GND)

‏هذا هو الطرف الأرضي، يكمل الدائرة الكهربائية لكي تعمل جميع الإشارات بشكل صحيح.

‏Vpp

‏كان يُستخدم سابقًا لبرمجة الشريحة، والآن غالبًا غير مستخدم في الشرائح الحديثة

‏I/O

‏أهم طرف لنقل البيانات، حيث يتم عبره إرسال واستقبال الأوامر والمعلومات بين الجوال والشريحة، مثل التحقق من الشبكة أو قراءة الأرقام المخزنة

‏Optional USB Pad

‏وسادة USB اختيارية، توجد أحيانًا في بعض الشرائح لدعم وظائف USB الحديثة

‏جميع هذه الأطراف الصغيرة في شريحة SIM ضرورية لعمل الجوال مع الشبكة، بدءًا من تشغيل الشريحة، مرورًا بإرسال واستقبال البيانات، إلى تهيئة الشريحة تلقائيًا عند التشغيل.

OSINTMAILER

OSINTMAILER

أداة جمع المعلومات عبر البريد الإلكتروني #بايثون


- ابحث عن الصورة الرمزية في جرافار

- التحقق من سمعة البريد الإلكتروني

- تحقق من تسجيل حساب Github

- روابط سريعة إلى جوجل دوركس لمعلومات البريد الإلكتروني/حسابات وسائل التواصل الاجتماعي/البحث


https://github.com/techenthusiast167/OSINTMAILER-/



أفضل أدوات استكشاف أخطاء الشبكة وإصلاحها

 


الثغرة الخطيرة الأخيرة في SharePoint (CVE‑2025‑53770) تعطي المجتمع الأمني مجموعة دروس مهمة جدًا في مجالات الحماية، الرصد، والهندسة الأمنية وما إلى ذلك .

 


الثغرة الخطيرة الأخيرة في SharePoint (CVE‑2025‑53770) تعطي المجتمع الأمني مجموعة دروس مهمة جدًا في مجالات الحماية، الرصد، والهندسة الأمنية وما إلى ذلك .


‏لنتعرف على أهم الدروس المستفادة منها:

‏🧠 أولاً: دروس فنية وتقنية


‏1. ❗ الثقة المفرطة في التصحيحات الأمنية غير كافية

‏•الثغرة استغلت آلية deserialization في SharePoint - وهي ثغرة تتكرر عبر السنوات في ⁦‪ASP.NET‬⁩ وJava وغيرها.

‏•حتى مع تصحيحات سابقة، استُغلت مفاتيح التشفير (machine keys) للقيام بتجاوز لاحق للتصحيحات.


‏✅ الدرس: التصحيحات الأمنية لا تكفي دائمًا؛ يجب تطبيق الدفاع المتعدد الطبقات Defense-in-Depth 

‏والاعتماد على تقنيات مثل App Sandbox وZero Trust.

‏2. 🧬 مشاركة المفاتيح التشفيرية خطر كبير

‏•المهاجمون تمكنوا من سرقة المفاتيح وتزوير ViewState لتجاوز التوثيق.

‏•هذه المفاتيح غالبًا تكون مشتركة بين أكثر من تطبيق على نفس الخادم.


‏✅ الدرس: لا تحفظ المفاتيح الحساسة بشكل غير آمن على الخادم.

‏أستخدم خوادم إدارة الأسرار (مثل Azure Key Vault أو HashiCorp Vault)، وقم بتدوير المفاتيح بشكل دوري.

‏3. ⚠️ واجهات الويب المعرضة للإنترنت = خطر حقيقي

‏•الهجمات استهدفت SharePoint “الداخلي” لكن المكشوف للإنترنت (On-premises + internet-facing).

‏•أكثر الأنظمة تضررًا كانت تلك التي لم تُعزل خلف VPN أو WAF.


‏✅ الدرس: لا ينبغي أن تكون التطبيقات الإدارية مثل SharePoint أو vCenter أو Jenkins متاحة مباشرة من الإنترنت.

‏قم بعزلها دائمًا.

‏4. 📈 الأهمية القصوى للمراقبة والتحليل السلوكي

‏•أغلب الضحايا لم يلاحظوا أي نشاط، لأن الهجوم لم يترك بصمات تقليدية واضحة.


‏✅ الدرس: يجب تفعيل AMSI وEDR/Defender for Endpoint، بالإضافة إلى أدوات SIEM لتحليل السجلات (logs) ومراقبة السلوك الشاذ.

‏🧰 ثانيًا: دروس عملياتية وتنظيمية


‏5. 🛠️ الاستجابة السريعة تمنع الكارثة

‏•الجهات التي قامت بالتحديث السريع والتدوير الفوري للمفاتيح حمت أنظمتها قبل توسع الهجوم.


‏✅ الدرس: وجود خطة استجابة للحوادث Incident Response Plan جاهزة، وفرق أمان مدربة، هو ما يصنع الفرق.


‏6. 📢 الشفافية تصنع الثقة

‏•Microsoft تحركت بسرعة لإصدار التحديث والتقارير الفنية (عكس ثغرات سابقة مثل SolarWinds التي تأخر الإعلان عنها).


‏✅ الدرس: الإفصاح السريع والمنظم عن الثغرات يبني الثقة، ويقلل من الأثر الجماعي للهجمات.

‏🛡️ ثالثًا: دروس للمدراء وأصحاب القرار


‏7. 💼 الاستثمار في البنية التحتية الحديثة مهم

‏•الأنظمة القديمة مثل SharePoint 2016 ما زالت مستخدمة، ما أدى لتأخير التحديثات وإطالة فترة الخطر.


‏✅ الدرس: استثمر في تحديث الأنظمة إلى نسخ مدعومة، أو استخدم إصدارات SaaS (مثل SharePoint Online) التي تُدار وتصُحح تلقائيًا.


‏8. 🌐 فرق الـ Red Team وBug Bounty ليست كافية لوحدها

‏•رغم انتشار الفرق الأمنية، لم تُكتشف الثغرة إلا بعد الهجوم الفعلي.


‏✅ الدرس: لا بد من دمج فرق Purple Teaming وتحليل التهديدات المتقدمة (Threat Hunting) مع البرامج التقليدية لاكتشاف الهجمات التي تتجاوز الطرق المعروفة.

خلاصة


‏ثغرة SharePoint كشفت عن نقاط ضعف تتكرر في كثير من المؤسسات:


‏“الثقة الزائدة، الاعتماد على التصحيحات فقط، وتجاهل تقنيات التقليل من الأثر = وصفة لكارثة.”

‏🧩 ⁧ مجاناً⁩ دورة Introduction to Linux (LFS101) من منصة Linux Foundation



‏📚 ما الذي ستتعلمه؟

‏1.فهم البنية الأساسية لنظام Linux.

‏2.التنقل في النظام من خلال الطرفية Terminal أو من الواجهة الرسومية GUI.

‏3.التعامل مع الملفات والمجلدات.

‏4.إدارة العمليات والخدمات.

‏5.استخدام محررات النصوص مثل nano وvim.

‏6.كتابة سكريبتات Bash بسيطة.

‏7.الشبكات والطباعة والأذونات (Permissions).

‏8.التحضير لشهادات أكثر تقدمًا مثل LFCS.


‏✅ إذا كنت مبتدئًا في لينكس، فابدأ بهذه الدورة فورًا.

‏✅ الدورة مجانية بالكامل وتمنحك فهمًا عميقًا لكيفية العمل على لينكس في بيئة حقيقية.

‏✅ تشمل أكثر من 18 فصل تعليمي.


‏🔗 رابط الدورة 

‏⁦https://training.linuxfoundation.org/training/introduction-to-linux/


في دالة copyWith العادية ما نقدر نميّز بين “ما تم تمرير قيمة” و”مررت قيمة فارغة null”، عشان لما نكتب مثلاً:

 


في دالة copyWith العادية ما نقدر نميّز بين “ما تم تمرير قيمة” و”مررت قيمة فارغة  null”، عشان لما نكتب مثلاً:


User copyWith({String? phone}) {

  return User(phone: phone ?? this.phone);

}

فلو مررت phone: null بيتعامل معها كأنك ما مررت شي ويرجع لك this.phone. 


❌️ وهنا تصير عندنا إشكالية إنه ما نقدر نغير القيمة لnull!!.


✔️الحل: استخدام الـ Sentinel Pattern


1. نعرّف const من نوع Object :


static const unchanged = Object();


2. نخلي القيمة الافتراضية لكل معامل في copyWith هذا الconst "مثلما موضح في الصوره" 


User copyWith({

  Object? name    = unchanged


📍 كيف يشتغل:


- إذا ما مررت قيمة: بيظل المعامل قيمته unchanged، فينسخ الحقل الأصلي (this.field).


- إذا مررت قيمة null: المعامل بيصير null مش unchanged، فيتحدّث الحقل إلى null.


ليش unchanged لازم تكون const؟

لأن دارت ما تسمحش بالقيمة الافتراضية للمعامل تكون غير ثابتة (compile‑time constant)، وبـ const نضمن إنه فيه كائن واحد بس نقدر نقارن هويته  (==) عشان نعرف إذا ما تغيّرش المعامل أصلاً.

iCloud and iccid

 


فتح ثغرة تخطي iCloud ورقم iccid لتشغيل الهواتف المشفرة يعتبر هجمة على البنية التحتية لامريكا لان ابل امــ🇺🇸ـريكية واذا استخدمت الثغرات لاختراق اجهزة ابل المستخدمة في قطاعات حيوية (مثل اجهزة iPad في المستشفيات او انظمه iOS في الجيش). 

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

والاخطر تسريب بيانات حساسة لموظفين حكوميين مخزنة على iCloud.