10 مارس, 2010regular expressions in PHP

السلام عليكم :) ,

كنا قد تحدثنا فى التدوينة السابقة عن regular expression بشكل عام,

و قمنا بإستخدام صفحة regular expression helper للتطبيق على الأمثلة ,

و الأن حان الوقت للتحدث عن كيفية استخدام regular expressions فى لغة PHP.

يوجد نوعين من الـ regular expressions  فى PHP :

  1. POSIX Extended و نستخدم معه الدوال ereg , eregi
  2. Perl Compatible و نستخدم معه الدوال perl_match, perl_replace

و الجدير بالذكر أنه يجب وضع الـ regular expression بين علامتين forward slash /  فى حالة استخدام Perl Compitable, و أيضا يجب ذكر أن Perl Compatible أقوى و أسرع من POSIX Extended .  و إليكم الأمثلة:

Regular Expression to check email using Perl compatible

$email = 'anyone@yahoo.com';
$pattern = '/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/';
if( preg_match( $pattern, $email ) ) {
    echo 'good one';
} else {
    echo "Bad email!, doesn't match";
}

Regular Expression to check email using POSIX Extended

$email = 'anyone@yahoo.com';
$pattern = '^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$';
if( ereg( $pattern, $email ) ) {
    echo 'good one';
} else {
    echo "Bad email!, doesn't match";
}

و هكذا يمكنك استخدام regular expressions داخل PHP.

بالتوفيق ان شاء الرحمن :)


السلام عليكم :)

ماهو Social bookmarking
- ترجمة حرفيةالمفضلات الأجتماعية
عبارة عن طريقة تساعد مستخدمى الأنترنت انهم يحفظوا و ينظموا و يصنفوا و يبحثوا و يديروا المواقع المفضلة لديهم و لكن على الأنترنت .

طبعا كلنا عارفين المفضلة اللى موجودة فى المتصفح , بس دى بتكون على جهازك انت بس
انما فى social bookmarking بتكون على الأنترنت , يعنى تقدر تشوفها من اى مكان

بمعنى اخر
social bookmarking عبارة عن نسخة اون لاين من المواقع المفضلة لديك  , ولكن بأمكانيات اكثر

تاريخ الخدمة :
بدأت سنة 1996 و لكن ظهورها الحقيقى بدأ عام 2003 مع ظهور موقع del.icio.us
و ظهور مواقع اخرى مثل furl و simpy

مالذى يقدمه :
مش بس تقدر تحفظ مواقعك المفضلة ع النت وتبعتها لأصدقائك – ممكن كمان تشوف المواقع المفضلة لأشخاص اخرين و كمان تقدر تصنف مواقعك كل مواقع تحت تصنيف او اكتر و ممكن تشوف اخر المواقع المضافة من قبل الأخرين و تقدر تبحث كمان
ده معناه ان social bookmarking عبارة عن محرك بحث ذكى intelligent search engines .

المميزات :
1) محرك بحث ذكى
بما ان المواقع المضافة كلها تمت اضافتها بواسطة اشخاص يفهمون المحتوى وليس برنامج كمبيوتر
فعند البحث تحصل على النتائج بدقة عالية , ده غير انه بيتم تقييم الموقع بعدد الناس اللى حفظوه الى مفضلتهم
2) ممكن تشوف المواقع المفضلة لأشخاص اخرين (لو هما سامحين بكده او عاملين share)
3) ممكن تشوف اخر المواقع المضافة او المواقع الشعبية ( الأكثر اضافة ) ز
4) ممكن تحصل على جميع المواقع تحت تصنيف معين

العيوب :

  1. سوء التصنيف , نتيجة اخطاء اللغة او غيره .
  2. اسم غير ثابت للتصنيف الواحد , بمعنى ممكن واحد يضيف الموقع تحت تصنيف ويب واخر يضيف نفس الموقع تحت تصنيف انترنت واخر يضيفه تحت تصنيف مواقعى وهكذااا
  3. سوء الأستغلال , بمعنى ان فى ناس بتستغل المواقع اللى بتقدم خدمة social bookmarking علشان تشهر موقعها , فتضيفه اكتر من مرة و تحت اكتر من تصنيف و هكذا

ده فيديو بيشرح الموضوع بكل بساطة :

بالنسبة لأصحاب المواقع , ممكن تضيف زر عندك فى الموقع علشان يسهل على الزوار انهم يضيفوا موقعك لأى موقع بيقدم خدمة social bookmarking
من هنا :
http://www.addthis.com

دى مجموعة من المواقع اللى بتقدم الخدمة :

وكمان مجموعة من ويكيبيديا

http://en.wikipedia.org/wiki/List_of_social_software#Social_bookmarking

المصادر الأجنبية التى استخدمتها (لمزيد من المعلومات عن الموضوع او للقراءة بتوسع):


, السلام عليكم :)


6 نوفمبر, 2009ماهى الكوكيز Cookies

السلام عليكم ورحمة الله وبركــاته Smile

مقدمة :
اكيد سمعنا عن الكوكيز و أكيد فى ناس كتير عارفاها كويس .
و اكيد كلنا لما بندخل موقع ونعمل تسجيل الدخول ( وتعمل صح على تذكرنى ) ,, لما تدخل الموقع تانى بيكون عارفك 
و اكيد برده , لما بتحول جوجل من العربى للأنجليش او العكس , تدخل مرة تانية تلاقى جوجل على حسب ماانت اخترت اخر مرة ( سواء عربى او انجليش )
الموضوع كله متعلق بالـ كوكيز .


ماهى ال Cookie ؟
هى عبارة عن ملفات نصية ( يعنى مش برامج او باتشات ) بيرسلها الموقع اللى بتدخل عليه للمتصفح بتاعك علشان يحفظها عندك ع الجهاز .
الملفات دى بيكون فيها معلومات عنك . المعلومات دى لما الموقع بيحتاجها بيطلبها من المتصفح .

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

طبعا المعلومات داخل ملفات الكوكيز , بتختلف من موقع لأخر .
و طبعا كل موقع مش ليه الحق غير انه يطلب الملف بتاعه بس , يعنى مينفعش موقع يشوف الكوكيز بتاع موقع تانى. 
و الاجمل من كده , ان كل متصفح ليه مكان بيحفظ فيه الكوكيز بتاعته , ازاى ؟
يعنى انت ممكن تدخل على منتدى بأكثر من مستخدم عن طريق اكثر من متصفح , و كل متصفح فى كوكىز من نفس المنتدى بس الأختلاف فى البيانات اللى فيها.


كيف تعمل الكوكيز ؟
لما بتطلب تشوف موقع معين , المتصفح بتاعك بيرسل بيانات الى الموقع ( الآى بى بتاعك , نوع المتصفح , نظام التشغييل , ويبحث المتصفح عن ملفات الكوكيز الخاصة بالموقع وان وجد يرسلها له مع الطلب.
- يستطيع الموقع عند استلامه الطلب انه يستفيد من الكوكيز المرسلة ( مثلا عرض وقت اخر زيارة لك , تظبيط الخيارات المفضلة لديك , تسجيل الدخول التلقائى ,….. الخ) و بإمكان الموقع التعديل فى الكوكيز الخاصة به
او حتى حذفها .


ملحوظات:

  • ملف الكوكيز بيكون مرتبط بوقت معين , و ده اللى بيحدده الموقع او بمعنى اصح مبرمج الموقع ( يعنى بيحدد ان ملف الكوكيز ينتهى صلاحيته بعد يوم , اسبوع , سنة , براحته )
  • و طبعا بما ان الملف بتاع الكويكز ده عندك فممكن بكل بساطة تمسحه.
  • طبعا بكل بساطة ممكن تخلى المتصفح بتاعك يرفض الكوكيز خالص او يرفضها من مواقع معينة.


هل الكوكيز آمنـــــة ؟

  • لو حد دخل عندك ع الجهاز وسرق الكوكيز او اخد ملف الكوكيز و نقله عنده فى مكان الكوكيز بتاع المتصفح بتاعه , هيدخل كأنه أنت Smile
  • لو حد بيتجسس ع الشبكة و بيراقب البيانات المارة ع الشبكة ,, ممكن بكل سهولة يشوف القيم بتاع الكوكيز و ينقلها و يعمل ملف عنده ع الجهاز ويدخل ع الموقع كأنه أنت Smile ودى ممكن تتحل عن طريف عمل اتصال مشفر.
  • او عن طريق حركة جامد جدااا , وهى ان شخص مثلا على منتدى يعمل لينك ظريف برئ و بيقولك اضغط هنا ( ويقول ده موقعى او موقع جميل و كده ) , اللينك ده بكل بساطه فيه كود جافا سكريبت بياخد البيانات اللى فى الكوكيز و يبعتها لموقع تانى علشان يحفظها عنده و ده بنسميه XSS او Cross Site Scripting
  • طبعا لو انت عامل ( تذكرنى ) لمنتدى معين , المنتدى بينزل عندك كوكيز ( عادة بيكون فيها الاسم والباص المشفر ) , وبما ان الكوكيز عندك ممكن تغير الأسم مثلا و تدخل ع الموقع , هتلاقى الموقع عمل تسجيل دخول عادى ويقولك أهلا فلان ( الأسم الجديد اللى غيرته ) , وده بيكون عيب من المبرمج .
  • وبما ان مدير المنتدى مستخدم عادى برده زى اى حد بس بصلاحيات اكبر , فممكن تعدل ملف الكوكيز بتاعك و تغير الأسم لإسم مدير المنتدى , و الباص المشفر لو عرفت تخمنها بطريقة ما فهتدخل المنتدى كأنك المدير و بصلاحيات المدير و مبروك عليك المنتدى Smile

# وطبعا خليك فاكر ان مفيش نظام أمنى خالى من الثغرااااات Smile

لمزيد من المعلومات :
http://en.wikipedia.org/wiki/HTTP_cookie
http://tech.spmmf.com/2009/06/session-vs-cookie/

و شكراااا :)


5 نوفمبر, 2009ماهى كابتشا Captcha

السلام عليكم ,

Captch

كلنا او معظمنا اكيد شاف captcha بس مكنش يعرف
اسمها , طيب بنشوفها فين ؟!

مثلا لما تيجى تعمل ايميل جديد أوتسجل فى موقع أو ترد على بلوج بعض الناس أو فى بعض التصويتات أو…إلخ
بيطلب منك انك تكتب الحروف والأرقام العشوائية اللى ع الصورة.
أيون , هى دى كابتشا :)


ماهى Captcha؟
اولا هى اختصار ل
Completely Automated Public Turingtest to tell Computers and Humans apart
بكل بساطة , هى طريقة تخلينا نتأكد ان الرد ده جاى من انسان مش من كمبيوتر .
بكل بساطة هيعرض قدام حضرتك صورة وعليها حروف وأرقام عشوائية و يطلب منك
انك تكتبها فى المربع اللى تحتها.و بكده بيتأكد ان الرد جاى من انسان مش من كمبيوتر .



طيب , أيه التطبيقات المستخدمة فيها ؟!!!!!!!
معظمها سيكيورتى زى :
1) تجنب ال spam .
و ال spam بكل بساطة محتوى غير مرغوب فيه ,, بيتعمل
اوتوماتيكى بالكمبيوتر بغرض الدعايا , يعنى مثلا واحد عامل سكريبت كل شوية يدخل
يعمل رد و يحط فيها لينكات لموقعه.
2) حماية صفحات التسجيل بالمواقع registration
علشان فى ناس وحشة برده بتعمل سكريبت ظريف يدخل و يشترك فى المواقع علشان
يعمل مواضيع ضارة ( يعنى مثلا دعايا لموقعه أو تحتوى على محتوى ضار …)
3) حماية التصويتات الالكترونية
علشان طبعا لو فى تصويت و مفتوح من غير اشتراك , واحد ظريف برده يعمل سكريبت ظريف برده علشان يدخل يعمل تصويت لرأى معين كل شوية .
4) الحمايةمن Dictionary Attacks
و ال dictionary attacks زى ما احنا عارفين ,, مثلا
واحد قدامة صفحة فيها يوزرنيم وباسورد ,, يعمل سكريبت ظريف برده جواه شوية يوزرز و
باسوردات حاجة كده زى قاموس

و السكريبت يقعد يجرب بيهم لغيت
مايوصل .

# طبعا فى استخداماتكتير غير دول
و طبعا مع وجود Captcha مفيش اى سكريبت ظريف ولا
حاجة ظريفة من دول هتتعمل لان الصورة بتظهر عشوائى وصعب تخمينها.



إمكانية الوصول :
بما ان فى ناس نظرها ضعيف,, فأكيد كابتشا دى هتتعبهم و هنا نقدر نقول ان كابتشا مش متوفرة صورة بس , 

يعنى فى كابتشا صوتية ( يعنى تسمع حروف وتكتبها ).
و فى نوع تانى برده اسمه كابتشا
الحسابية و دى بيظهرك مسألة و تكتب الناتج.

مثلا يقول ” ما ناتج خمسة زائد ستة ?” وانت تكتب الناتج تحت .
كل ده علشان يتأكد ان انت مش كمبيوتر و انت شخص.

طيب سؤال يطرح نفسه ,, هل هى آمنة ؟!!!!!!!!!
إيمانا بالقاعدة التى تقول “ أن مفيش نظام أمنى محكم أو خالى من الثغرات ” و سلم لى على أدهم صبرى :)
فعلا الكلام ده صح ,, مفيش نظام امنى كامل ,, لازم يكون فى ثغرة ,, لازم نقطة ضعف
حتى لو كان نقطة الضعف ده الأنسان ! وسلم لى على Social Engineering
و دى اول قاعدة بيتعلمها الناس بتوع السيكيورتى والناس بتوع الهاكينج برده :)
فطبعا كابتشا مهما ان كانت فأكيد فى نقطة ضعف و هى ان ممكن يتم معرفة الكلام المكتوب ع الصورة عن طريق تقنيات
image-recognition و تقنيات تحليل الصور و هكذا
و بالتالى لايمكن الأعتماد عيها كليا ,, لانها غير أمنة 100% كأى نظام

طيب , دلوقت ازاى اعمل Captcha ؟
كل الفكرة انك بتعمل متغير بيحتوى ع بعض الحروف والأرقام عشوائيا و بعدين تكتب قيمته على صورة و بعدين اظهر الصورة
و ده تطبيق بسيط لكابتشا بال php

session_start() ;
header("Content-type: image/png");
$num = rand(100,9999);
// save in session variable
$_SESSION['num'] = $num ;
// creating the image
$im = imagecreate(200,200) ;//create the image
$white = imagecolorallocate($im,255,255,255) ; // background color
$black = imagecolorallocate($im,0,0,0);
imagestring($im,5,50,20,$num,$black); // write on image
imagepng($im);// output the image

مواقع مفيدة :
http://www.captcha.net/
http://www.captchacreator.com/
http://www.phpcaptcha.org/

, جزاكم الله خيرا :)


السلام عليكم ,

المدونة او البلوج :
المدونة هى تعريب لكلمة blog الأنجليزية , التى هى نحت لكلمتى web log اى سجل الشبكة , و المدونة هى احدى تطبيقات شبكة الويب التى تعمل من خلال نظام ادارة المحتوى CMS .
و المدونة بكل بساطة عبارة عن مكان يسمح للمستخدم او صاحب المدونة بأن ينشر كتاباته على شبكة الأنترنت و يسمح له ايضا بترتيبها وتنظيمها و التحكم فيها .و قد يسمح صاحب المدونة للزوار بالتعليق على كتاباته .


وتنقسم المدونات إلى عدة أنواع :

مدونات شخصية personal Blogs :
هى من اشهر انواع المدونات التى تسمح لصاحبها نشر اخباره و أفكاره و أراءه , أيضا قد يضع بها بعض المواقف التى واجهته فى الحياة و هكذا . 

مدونات المعلومات BlogNews :
تعتمد فكرتها على نشر الأخبر المتجددة بإستمرار , و لها شعبيتها ايضا حيث يعتبرها البعض كأنها جريدة على الأنترنت .

مدونات الصورPhotoblog :
ينشر فيها صاحبها الصور باستمرار سواء الصور الطبيعية او المضحكة او الغرائب و هكذا .

مدونات الفيديو Vlog :
ينشر بها صاحبها الفيديوهات التى تعجبه .

و من أمثلة المدونات :
http://googleblog.blogspot.com/
http://www.teedoz.com/


و الأن , كيف أحصل على مدونة خاصة بى مجانا ؟
بكل بساطة , يمكنك الحصول على مدونة فى ثوان 
اما من خدمة blogger او خدمة wordpress 
و هما الأكثر شهرة , يوجد أيضا مواقع اخرى تقدم نفس الخدمة ولكن ليس بنفس المميزات والشهرة والصيت مثل jeeran .

طريقة الحصول على بلوج من خدمة blogger
www.blogger.com

و للحصول على شرح اى حاجة فى blogger 
http://www.youtube.com/BloggerHelp

اما wordpress
http://wordpress.com/
http://codex.wordpress.org/Getting_Started_with_WordPress#Installation


الميزة فى wordpress انك تقدر تنزل السيستم بتاع wordpress عندك ع الجهاز وتعدل فيه . 

فى الأتنين تقدر تعمل :

  • يمكن وضع إعلانات جوجل و تكسب منها بمجرد ان الناس تضغط عليها بس
  • تقدر تتغير الثيم , وتختار من مجموعة كبيرة جداا جدااا من الثيم الموجودة ع الأنترنت مجانا
  • تقدر تضيف plugin عشان تضيف حاجات جديدة او مميزات جديدة .
  • تقدر تسمح لأشخاص معينين انهم يقرأوا البلوج بتاعك
  • تقدر تسمح للناس انها تضيف تعليقات عندك او لا .

و المزيد و المزيد من المميزات ….

:) و شكراا



© M.M.F Blog | تصميم TextNData | تعريب قياسي | يستخدم وورد بريس