هل ستغير تخصصك؟

الكاتب \ تصنيف عام \ يناير 2, 2012

مرحباً، اعرف لم اكتب هنا منذ فترة طويله، ليس لدي عذر مقنع بالتالي مشوها لي :)

 

هذه التدوينة عبارة عن تسائل أوجهه لكل من يقرأ هذه التدوينة ويهمة الموضوع. سواء كنت طالب أو موظف، هل فكرت أو تفكر في تغير تخصصك؟ شخصياً لي فترة وأنا افكر في تغير التخصص من باب التنويع. فيه الكثير من يعرفني يفكر اني دخلت تخصص الحاسب عن حب أو رغبة به. في الحقيقة لم افكر أبدا ان اتخصص في علوم الحاسب أبداً. كنت في فترة الثانوية العامة أرغب أن أكون جراح شبكية عيون :) لكن انتهى بي المطاف في كلية علوم الحاسب. ولم احب البرمجة بشكل كبير الا في آخر سنة ونصف من تخرجي بل كنت جداً سيء في البرمجة، يمكن عملية (For loop) ما اعرف اسويها :$ . لكني بعدها بدأت أحب الحاسب والبرمجة بشكل خاص حتى أصبحت مغرماً بها.

 

نرجع للموضوع الاساسي، حالياً اعمل (Enterprise Architect) ما أعرف كيف تترجم بالعربي.  العمل عبارة عن تصميم معماري للأنظمة البرمجية وهيكلتها، وتقييم تلك الأنظمة واعطاء استشارات. “بصراحة شيء جميل انك تتفلس على الناس″  لكن ما أحس إني جالس اشتغل على شيء فيه تحدى وشيء مشوق مرة. جلست افكر الفترة الماضية عن تخصص مختلف ممكن أجربة، فوقع اختياري على أكثر تخصص في الحاسب ما احبه الا وهو “الحماية Security” لكن مايروح فكركم بعيد مو بصير هاكر و اصير “اوزع سديات هكر” في حراج الكمبيوتر في العليا :P. طبعاً التغيير الذي ارغب في عملة هو كإهتمام وليس بالضرورة في مجال العمل.

 

ما اعرف ودي اسمع ارائكم و كمان تجاربكم، اعرف ناس كثير تركوا وظائفهم واتجهوا إلى عمل أخر او إلى اكمال الدراسات العليا، ودي استفيد من تجاربكم وارائكم ودمتم بخير،،،

 

وسوم:

عيد سعــــيد و كل عـــــــام و أنتم بخـــــــير

الكاتب \ تصنيف عام \ أغسطس 31, 2011

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

 

تقبلوا فائق تقديري و احترامي :)

تعلم تطوير برامج (iPhone, iPad, and Android) بإستخدام جافا سكربت فقط – التعامل مع الشاشات -2

الكاتب \ تصنيف تدريب, تقنية, عام \ يوليو 5, 2011

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

الدروس:

  1. مقدمة عن Appcelerator Titanium
  2. تنصيب Appcelerator Titanium على نظام ماك
  3. بناء تطبيق أهلا بالعالم بإستخدام Titanium
  4. التعامل مع الشاشات – 1
  5. التعامل مع الشاشات – 2

 

 

يمكنكم تحميل الكود المصدري من
هنا

وسوم: , , , , ,

تعلم تطوير برامج (iPhone, iPad, and Android) بإستخدام جافا سكربت فقط – التعامل مع الشاشات -1

الكاتب \ تصنيف تدريب, تقنية, عام \ يونيو 24, 2011

هذه تدوينه سريعه ودرس بسيط جداً على طريقة انشاء الشاشات بإستخدام Titanium. الدرس جدا سهل ولا ياخذ عشر دقائق لعمله.
الدروس:

  1. مقدمة عن Appcelerator Titanium
  2. تنصيب Appcelerator Titanium على نظام ماك
  3. بناء تطبيق أهلا بالعالم بإستخدام Titanium
  4. التعامل مع الشاشات – 1
  5. التعامل مع الشاشات – 2

 

 

وسوم: , , , , ,

تعلم تطوير برامج (iPhone, iPad, and Android) بإستخدام جافا سكربت فقط – تطبيق أهلآ بالعالم

الكاتب \ تصنيف تدريب, تقنية, عام \ يونيو 18, 2011

بعد أن قمنا بعملية التثبيت في التدوينة السابقة٫ حان الوقت أن أريكم كيف يمكنكم من عمل تطبيق بإستخدام جافا سكربت ويعمل على (iPhone, iPad, and Android) وذلك في دقائق قليلة جداً.

الدروس:

  1. مقدمة عن Appcelerator Titanium
  2. تنصيب Appcelerator Titanium على نظام ماك
  3. بناء تطبيق أهلا بالعالم بإستخدام Titanium
  4. التعامل مع الشاشات – 1
  5. التعامل مع الشاشات – 2

 

 

وسوم: , , , , ,

تعلم تطوير برامج (iPhone, iPad, and Android) بإستخدام جافا سكربت فقط – تنصيب Appcelerator Titanium على نظام ماك

الكاتب \ تصنيف تدريب, تقنية, عام \ يونيو 18, 2011

هذا الجزء الثاني من هذه السلسلة و التي اخذكم فيها لتعلم التطوير لبرامج (iPhone, iPad, and Android) باستخدام لغة جافا سكربت فقط. هذه التدوينه هي عن طريقة تنصيب برنامج Appcelerator Titanium على نظام ماك (Mac OS X 10).

 

الدروس:

  1. مقدمة عن Appcelerator Titanium
  2. تنصيب Appcelerator Titanium على نظام ماك
  3. بناء تطبيق أهلا بالعالم بإستخدام Titanium
  4. التعامل مع الشاشات – 1
  5. التعامل مع الشاشات – 2

ملاحظة: قد تبدو لك هذه التدوينة طويلة، صحيح اصعب شيء هو تثبيت البرنامج، لكن استخدامه سهل وفي دقائق تعمل برنامج يعمل على ثلاثة أنظمة مختلفة وبكود مصدري واحد

لتثبيت (Titanium) نحتاج إلى تثبيت (iOS SDK)  اذا كنت ترغب بالتطوير لنظام الآيفون (يعمل فقط على اجهزة الماك فقط) . و  (Android SDK) اذا كنت تريد التطوير لنظام اندرويد (يعمل على الويندوز، لينكس و ماك). خلال دروسنا سنعمل على تطوير برامج تعمل على (iPhone, iPad, and Android) بالتالي سنثبتهم جميعاً.

 

ملاحظة: نحن نعمل على نسخة Titanium Mobile SDK 1.7.0

ملاحظة مهمة: ستجد دروس على الإنترنت مختلفة عن الشرح هنا. والسبب انها قديمة. هذه التدوينة تعتمد على آخر نسخة كما نشرح Titanium Studio و هو جديد حتى كتابة هذه التدوينة.

 

سنحتاج إلى تثبيت التالي:

  1. xCode 3 and iOS 4.3
  2. Android SDK
  3. Titanium Studio – يوجد بداخلة Titanium Mobile SDK فيكفي تثبيته فقط وهو سيقوم بتثبيت Mobile SDK. و في هذا الدرس نعتمد على النسخة 1.7.0.

 

1- تثبيت xCode 3 and iOS 4.3

للتطوير على الايفون يجب ان تسجل اولاً في موقع Apple و من ثم تسجل كمطور. تستطيع التسجيل من هنا (http://developer.apple.com/programs/ios)  و ستحتاج إلى دفع 99 دولار اذا رغبت في نشر تطبيقك في سوق الإيفون. لا تحتاج دفعها الآن لكن إذا أردت نشرة أو نقلة على جهازك. طبعاً تستطيع نقلة إلى جهازك إذا عملت (Jail Break). بصراحة أنا جديد في عالم أبل، وأجد موقع أبل غريب تاره يطلب مني أدفع وتاره لا. الآن أنا سجلت ولا طلب مني أدفع إلا لما أحاول نشر التطبيق، لكن أجد البعض يقول لا انه يجب أن تدفع اولاً قبل كل شيء. المهم بعد التسجيل و الدخول بإسم المستخدم وكلمة المرور يرجى الذهاب إلى

http://developer.apple.com/devcenter/ios/index.action#downloads

و تحميل  xCode 3.x.x and iOS SDK 4.3 و مساحته تقريبا GB 4.44


بعد الإنتهاء من التحميل يتم الضغط على الملف بحيث يتم عمل له “mount” ثم الضغط على الملف Xcode and iOS SDK كما في الصورة

التثبيت سهل جدا. فقط اضغط على التالي

اضغط على التالي

وافق على الإتفاقية

وافق على الإتفاقية الاخرى الخاصة ب iOS SDK

اختر المكان الذي تريد حفظ الملفات فيه. هنا اخترنا الخيار الإفتراضي وهو Root

هنا نختار الملفات التي نريد تثبيتها. فقط سنثبت iOS

هنا اضغط على التثبيت لبدأ عملية التثبيت

سيطلب ادخال اسم المستخدم وكلمة المرور لحسابك على الجهاز

بدأ عملية التثبيت و ستستغرق وقتاً طويلاً. أنصح بشرب ريدبول وقت الإنتظار :)

في النهاية ستشاهد شاشة تعلمك بتثبيت البرنامج على جهازك

 

2- تثبيت Android SDK

تقريبا تثبيت Android هو اصعب عملية هنا. تذكر اننا نستخدم Titanium SDK 1.7.0 و يجب الإنتباه إلى التوافق في النسخ كما هو موضح هنا .  على العلم انه موضح انه يمكن إستخدام نسخة 2.3.X (API 11) إلا إنه لسبب ما  لا يتعرف Titanuim على أندرويد حتى ننزل النسخة 1.6 (API 4).

في البداية نذهب إلى الرابط التالي و تحميل Android SDK

http://developer.android.com/sdk/index.html

بعد التحميل يتم فك الضغط وحفظه في مجلد Library/Application Support/android-sdk حيث android-sdk هو اسم المجلد الذي اخترناه للملفات كما هو موضح بالشكل التالي

ثم قم بفتح (command) و التوجة إلى المجلد /Library/Application Support/android-sdk/tools

و كتابة الأمر ./adnroid  وذلك لتشغيل AVD Manager

وبعدها ستفتح معك الشاشة التالية. في البداية ستكون فارغة أي AVD Name سيكون فارغ

توجة إلى “Available Packages” في القائمة اليسرى و تأكد من اختيار الخيارات كما في الشاشة التالية. للمعلومية لن نحتاج إلى كل هذه لكن لسبب ما Titanium لا يتعرف على أندرويد إلا بها. ايضا ستأخذ وقت طول حتى تطلع لك القائمة كما في الشاشة التالية

وبعد الإنتهاء و الذهاب إلى قائمة “Installed Packages” يجب أن تكون مشابهه للشاشة التاليه.

وبهذا انتهينا من تثبيت Android SDK

 

3- تثبيت Titanium Studio

قامت شركة Appcelerator مؤخرا بشراء شركة Aptana و أصبح هو بيئة التطوير الخاصة بها. ستجدون في الانترنت صور لبرنامج هذا.  لكن بعد إصدار Titanium Studio فلم تعد هناك حاجة له. عند تثبيت Titanium Studio فإنه يثبت Titanium Mobile SDK مباشرة. لتثبيت Titaniumنذهب إلى الرابط التالي

http://www.appcelerator.com/products/download/

و اختيار النسحة Community و ستحتاج إلى التسجيل و الحصول على اسم مستخدم وكلمة مرور. وبعد الدخول ستظهر لك شاشة مشابه لهذه

نقوم بتحميل Titanium Studio فقط. قم بإنشاء مجلد بإسم Titanium و ليكن مثلا   (USERNAME/Titanium) حيث USERNAME هو اسم مجلد المستخدم في جهازك. و نضغط على ملف “Titanium Studio.dmg”  وستظهر الشاشة التالية، اضغط على “Titanium Studio” كما في الشاشة التالية

بعدها تظهر الشاشة التالية حيث سيعمل له “mount” و ننسخه إلى المجلد Titanium الذي أنشأناه فوق

وبعد نسخة نستطيع عمل “Eject” من Finder. ثم التوجة إلى المجلد Titanium و الضغط على ايقونه Titanium Studio و ستظهر الشاشة التالية. حيث تسـأل عن مكان حفظ المشاريع و نختار OK

بعدها ندخل اسم المستخدم وكلمة المرور التي قمنا بإنشائها في الموقع

سيفتح البرنامج و يقوم تلقائيا بتحميل Titanium Mobile SDK

بعد الإنتهاء من التثبيت بقي أمر واحد وهو تحديد مكان Android SDK. نذهب إلى القائمة Titanium Studio ثم Preferences  ثم تفتح شاشة و نختار من القائمة Titanium Studio ثم Titanium و من ثم تفتح شاشة و نختار مكان Andriod SDK و سنختار النسخة رقم Android 2.3.3 لأنها متوافقة مع نسخة Titanium SDK 1.7.0  كما هو موضح بالشاشة.

اذا لم يخرج لك أي رسالة خطأ فذلك يعني أنك أتتممت بنجاح عملية التثبيت. في الدرس القادم سنرى ما إذا كانت الإعدادت صحيحة و سنعمل برنامج و نجربة على كل من iPhone, iPad, and Android.

 

أتمنى ان تجدون هذه المعلومات مفيدة لكم. ولحد علمي لا يوجد شرح بالعربي ولا حتى بالإنجليزي على الماك حتى وقت كتابة هذه التدوينة بحيث يحتوى على أخر التحديثات و النسخ الأخيرة، يوجد ملف قديم فقط. بالتالي اللي عنده وقت ويقدر يترجمه ويرسله لشركة Appcelerator  فسنكون شاكرين له.

 

 

وسوم: , , , ,

تعلم تطوير برامج (iPhone, iPad, and Android) بإستخدام جافا سكربت فقط – مقدمة عن Appcelerator Titanium

الكاتب \ تصنيف تدريب, تقنية, عام \ يونيو 15, 2011

بعد ظهور الهواتف الذكية و خاصة بعد ظهور جهاز و نظام (iPhone) العديد من المطورين و الشركات اتجهوا إلى التطوير و الإستثمار في برامج الهواتف الذكية. و من المشاكل التي يواجهها هولاء هي اختلاف تلك الأنظمة، فمثلا التطوير على بيئة (iPhone) يختلف عن بيئة التطوير في (Android)  وهكذا. فعند عمل أي برنامج يتوجب تعلم كل بيئة و التطوير عليها. وهذا الشيء كان موجوداً حتى قبل ظهور تلك الأنظمة.

“لا تحتاج إلى أن تكون مطور محترف لتطور برامج تعمل على iPhone, iPad, and Android”

 

أنا واجهت نفس المشكلة، أنا متحدر من أصول “جافيه و دوتنتيه” وربما قريباً روبيه :) التطوير في بيئة أندرويد ليس بمشكلة لي لأني أعرف الجافا جيداً، لكن على الآيفون فيتوجب علي تعلم لغات مثل (Objective C) لدي خلفية في لغة (C) لكن هذا من زمن بعيد. في البداية فكرت في تعلم التطوير في بيئة الآيفون، لكن أشار علي صديق عزيز “جهاد العمار” في الإطلاع على برنامج (Appcelerator Titanium) و الذي يسمح لك بالتطوير باستخدام لغة الويب جافا سكربت (مختلفة عن لغة جافا). وبالفعل اطلعت عليه، ووجدت أنه برامج جميل جداً وسهل، وبالإمكان كتابة كود جافا سكربت ثم يحوله البرنامج بضغطه زر واحده إلى آيفون و اندرويد وبدعم (Native) أي أن الكود يتحول كما لوأنه كتب بلغة جافا او Objective C.

الجدير بالذكر إنه في بداية ظهور نظام الآيفون لم يكن هناك بيئة تطوير معتمده من شركة أبل، وكانت البرامج كلها في ذلك الوقت تعتمد على الويب وتقنياته مثل الجافا سكربت. ما يقوم به (Appcelerator Titanium) هو شيء مختلف عن تلك الطرق. يقوم (Titanium) بتحول الكود الذي تكتبه بلغة الجافا السكربت إلى اللغة الأصليه أي في النهاية ستجد أنه أخرج لك ملف كما لو أنك قمت بتطويره بلغة الجافا في حالة الأندرويد. و الكلام يسري على الآيفون أيضاً.

“إذا كنت تعرف التطوير في الويب (Javascript, CSS)، فأنت تلقائيا تعرف تطور في Titanium”

المثير  في الإهتمام أنه في وقت قصير جداً تستطيع عمل تطبيقك على الهواتف الذكية، ولا يعمل على نظام واحد فقط وإنما على أكثر من نظام. حتى الآن هناك دعم لنظام البلاك بري قادم قريباً. من خلال هذه المدونة سنتعرف على هذا البرنامج أكثر. هذه التدوينة كانت مقدمة عن هذا المنتج و الذي بالمناسبة مفتوح المصدر “Open Source”. في التدوينة القادمة بإذن الله سنتعلم كيف نقوم بتنصيب Titanium على ويندوز و من ثم سنتعلم كيف ننصبة على نظام ماك، وبعدها نبدأ في التطوير عليه.

الجميل في Titanium أنه يوجد به العديد من الدوال التي تمكنك من بناء تطبيق كامل، فيوجد جميع أدوات الإدخال و الإخراج، الشبكات، الصور، التحكم في الجهاز، دعم لغات (Localization)،  ودعم mashabs بحيث تستطيع التواصل مع مواقع التواصل الإجتماعي فيسبوك و تويتر وغيرها. و العديد من الإمكانيات التي سنتعرف عليها في الأيام القادمة.

هذه صورة لنظام Titanium


تابعوني خلال الفترة القادمة وان شاء الله ستتمكنون من تطوير برامجكم التي حلمتم بتطويرها و التي حالت صعوبة التطوير في بيئة عمل الهواتف الذكيه من عملها.

 

دمتم سالمين :)

وسوم: , , , , ,

محاضرة تجربة التأمينات في تطبيق المصادر المفتوحة

الكاتب \ تصنيف تقنية, محاضرات \ مايو 15, 2011

هذه المحاضرة كنت قد القيتها في الورشة الدولية الثانية للمصادر الحرّة المفتوحة المصدر و الذي أقيم كجزء من برنامج “متاح”  الذي تتبناه مدينة الملك عبدالعزيز للعلوم و التقنية.

 

ملاحظة: الصوت ضعيف وقد تحتاج إلى رفع الصوت او وجود سماعات

وسوم: , ,

دورة لتعلم أساسيات تطوير المواقع بإستخدام ASP.NET

الكاتب \ تصنيف تدريب, تقنية \ مايو 14, 2011

قد أبدو متأخراُ بعض الشيء، لكني سعيد بتقديمي لدورتين تدريبية قامت شركة نومد لتقنية المعلومات بدعمها بالكامل. كانت هنالك دورة نسائية أقيمت بتاريخ 16 أبريل 2011 لمدة خمسة ايام. و دورة رجالية بتاريخ 23 أبريل 2011 لمدة خمسة أيام. كان الإقبال كبير حيث وصل عدد المتقدمين من النساء إلى 42 متقدمه، و الرجال 33 متقدم. لكن لمحدودية المقاعد تم إختيار عدد معين فقط.

 

# شملت الدورة العديد من المواضيع و ملخصها كألاتي:

  • مقدمة عن التطوير في بيئة الويب.
  • مقدمة عن بيئة التطوير في ASP.NET
  • ASP.NET Controls, Web User Controls & Custom Controls
  • التعامل مع Session, Page, Application
  • التعامل مع قواعد البيانات ADO.NET
  • أساسيات Language Integrated Query LINQ
  • أساسيات Entity Framework
  • التعامل مع Gridview, ListView, DataList وغيرها
  • ASP.NET AJAX & jQuery
  • تقنية Web Services & Windows Communication Foundation
  • مقدمة بسيطه عن ASP.NET MVC

هذه صورة من التدريب

 

# الشركة الراعية للتدريب:

نبذة عن شركة نومد للتقنية:

شركة نومد للتقنية من الشركات الرائدة في الشرق الأوسط في مجال تكنولوجيا الاتصالات وتقنية المعلومات .وتستهدف الشركة تلبية احتياجات المستثمرين بمختلف فئاتهم عبر منتجاتها وخدماتها ومن خلال  شراكاتها مع الشركات العالمية الرائدة في مجالات أحدث تقنيات الاتصالات وبرامج وتطبيقات الهاتف المتنقل وأنظمة التتبع للأشخاص والمركبات وكذلك حلول البوابات الالكترونية وقواعد البيانات والحلول الأمنية والبنية التحتية. كما تعد شركة نومد للتقنية من الشركات الرائدة في مجال إدارة خدمات قطاع المعلومات ITSM من خلال توفير الحلول التقنية والأستشارات الفنية والتدريب في مجالات ITIL

رؤية الشركة :

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

 

شكراً لشركة نومد لتقنية المعلومات على دعمها السخي و دعمها للشباب و الشابات. و شكراً لكل الذين حضروا لقد غمرتوني بطيبتكم :)

 

وسوم: ,

عندك سي دي هكر؟

الكاتب \ تصنيف تقنية \ مايو 13, 2011

هذه تعتبر اول تدوينة فعلية من خلال مدونتي العربية الجديدة :)

منذ كم شهر كنت ذاهب إلى محل يبع بلك “طوب” و كان فيه رجل صعيدي يبيع في المحل. اشتريت منهم وخلال جلوسي سألني الرجل الصعيدي “انتا بتشتغل ايه” رديت عليه قلت انا مبرمج كمبيوتر، ثم رد علي قائلاً “يعني انته بتعمل برامج” قلت له عليك نور، قالي “طيب ممكن تعملي سي دي هكر!!”

طبعاً ابتسمت له، و كانت ابتسامتي ليست على بساطة سؤاله و إنما لأني أنا شخصياً شريت “سي دي هاكر” لما كنت في الثانوية $:.  نعم كان فيه محل انترنت لا اتذكر أسمه لكني أتصور كان “الشبح” أو شيء زي كذا، كان فيه شخص يبيع “سي دي هكر” وهو عبارة عن برنامج واجهه بفيجوال بيسك و محمل بعض برامج بحيث تشغلها و تعمل “Network Scan” وشارح كيف تستخدمها. طبعاً هؤلاء الأشخاص و المستخدمين لهذه البرامج نسميهم “Script Kiddies” وهم الناس الذين يستخدمون برامج إختراق وغيرها من دون الإلمام التام بكيفية عملها وكيف يتم الإختراق. وهم يعتبرون خطر على أمان الأنظمة و ذلك لكثرة تلك البرامج و توفرها بشكل مجاني وسهل الوصول لها.

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

# SQL Injection

هذه الطريقة تمكن المخترق من الحصول على معلومات المسجلين بموقعك أو معلومات أخرى وذلك بإعتماد على إيجاد ثغرات في جمل قواعد البيانات (SQL Statements). وهي تعتبر من الأخطر و الأكثر شيوعاً. و نسبة كبيرة جدا من المواقع تعاني من هذه المشكلة.  لكي تتضح الفكرة سأشرح الطريقة بمثال.
تخيل لديك هذا الجدول في قواعد البيانات

TABLE USER {ID, USERNAME, PASSWORD}

و المطور قام بعمل جملة الإستعلام التالية

SELECT ID, USERNAME, PASSWORD FROM USER WHERE USERNAME='x' AND PASSWROD='y';

و كتب في الكود السطور التالية لتنفيذ عملية الدخول للموقع:

string sql = "SELECT ID, USERNAME, PASSWORD FROM USER WHERE USERNAME='"+userName+"' AND
 PASSWROD='"+password+"';

الآن بإمكاني الدخول في الموقع من دون أن يكون عندي إسم مستخدم و كلمة مرور. بكل سهولة سأمرر هذه القيمة anything’ OR ‘x’=’x
بحيث تصبح جملة الإستعلام

string sql = "SELECT ID, USERNAME, PASSWORD FROM USER WHERE USERNAME='anything' OR 'x'='x' AND
 PASSWROD='anything' OR 'x'='x';

النظام سوف يدخلنا و السبب أن الجملة anything’ OR ‘x’=’x سترجع القيمة “true” و true AND true هي true.

الآن المصيبه أيضاً أنه يمكن عمل أشياء قد لا تخطر على بالك مثل السطر التالي:

string sql = "SELECT ID, USERNAME, PASSWORD FROM USER WHERE USERNAME='anything' OR 'x'='x' AND
 PASSWROD='y'; INSERT INTO USERS ('USERNAME','PASSWORD') VALUES ('nawaf','mypass');--';

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

# Cross-site scripting

هذه الطريقة تمكن العابثين من وضع كود جافا سكربت أو أي سكربت يعمل على المتصفح في موقعك. و الذي من خلال يستطيعون سرقة معلومات من زوار موقعك. طريقة أخرى هي وضع رابط يشير إلى الموقع الذي تزوره عادةً لكن في نهايتة سكربت يتم تنفيذه عندما يضغط المستخدم على الرابط. كثير من المطورين لم يسمعوا بهذا لأسف ولا يعلمون كيف يتعاملون معه. لحسن الحظ أغلب بيئات التطوير تمنع هذا النوع من الهجوم مثال على ذلك ASP.NET  عندما يكون لديك صندوق إدخال و شخص ما يريد أن يدخل فيه كود HTML أو جافا سكربت فأنه يرفضه و يطلب منك إما تعطيل خيار المنع و التعامل معه يدويا أو الإستمرار في المنع. المضحك كثيراٌ تجد في الإنترنت من ينصحك بإلغاء ذلك الخيار، دون إدراك منه بما يفعل. و أن هذا العمل خطر جدا مالم يتم العامل معه.

إذا كان لديك مدونة فمن السهل على أي شخص إضافة كود جافا سكربت يكون مخفي في التعليقات مثلا و هذا الكود يقوم بقراءة ملف (Cookie) و ارسالة للشخص الأخر مما يمكنه من الدخول على حساب المستخدم. إي إنه في كل مره يزور فيها مستخدم هذه الصفحة سيحاول السكربت قراءه معلومات الدخول للمستخدم و إرسالها للمخترق. الطريقة الأخرى وهي عبارة عن رابط يكون مدمج فيه السكربت، و إنتشرت هذه الأيام المواقع التي تعطي رابط صغير وهي خطرة لأن المستخدم لا يعرف إلى أين تؤدي تلك الروابط. المثال التالي يوضح طريقة عمل ادراج كود سكربت في موقع ومن ثم سرقة معلومات المستخدمين عند زيارتهم للموقع.

طبعا هذه ليست كل المخاطر التي قد توجه موقعك، و إنما من أهمها و أكثرها إنتشاراً.  أتمنى أن تكون هذ التدونية مفيدة. و بهذه المناسبة أنا عامل تخفيض على “سي دي الهكر” فقط بخمسين ريال :)  الكمية محدودة و اللي يبي يراسلني على بريد  nalbadia .@. nalbadia.com

 

 

Cross-site scripting (XSS)

وسوم: , ,