Open top menu
أحدث التدوينات
Loading...
‏إظهار الرسائل ذات التسميات دروس PHP. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات دروس PHP. إظهار كافة الرسائل
السبت، 11 يوليو 2015
شرح استعمال Bake الخاص ب CakePHP

شرح استعمال Bake الخاص ب CakePHP

bake محرر أكواد أوتوماتكي ل CakePHP حيث يقوم هذا الاخير (bake) بتحرير أوكواد كل من Model,Controller,View الخاص بالتطبيق باستعمال قاعدة البيانات فقط فرجة ممتعة.


اقرء المزيد
الخميس، 26 مارس 2015
كلاس WebSecur!ty للحماية من أغلب ثغرات نطبيقات الويب


كلاس WebSecur!ty للحماية كلاس مفتوح المصدر من برمجي يعطي للمبرمج القدرة على حماية تطبيقاته بشكل سريع و بسيط.
الكلاس يحتوي مجموعة من الدوال المساعدة للحماية أذكر من بينها :

 WebSecurity::UsingTor()
دالة تمكن المبرمج من معرفة ادا كان المستخدم يستعمل متصفح Tor لتصفح موقعه.
 
  WebSecurity::UsingProxy()
دالة تمكن المبرمج من معرفة ادا كان المستخدم يستعمل بروكسي لتصفح موقعه.

 WebSecurity::SQLinj()
دالة تمكن من حماية المداخل من الحقن لقواعد البيانات
  
 WebSecurity::XSS()
دالة تمكن من حماية المداخل من ثغرة XSS 

 WebSecurity::LFI()
دالة تمكن من حماية المداخل من ثغرة Local File Inclusion
 
 WebSecurity::RFI()
دالة تمكن من حماية المداخل من ثغرة Remote File Inclusion

المشروع مستضاف على Github يمكن الوصول اليه عبر الرابط أسفله :

https://github.com/AbderrahimSoubaiElidrissi/Web-Application-Security
 

اقرء المزيد
الأربعاء، 22 أكتوبر 2014
API هل تعلم ماهي وما الهدف منها ؟؟


واجهة برمجة التطبيقات (بالإنجليزية: Application Programming Interface وتختصر إلى API) هي مجموعة من ، وهياكل البيانات ,data algorithm object classes، أو البروتوكولات التي تقدمها المكتبات أو نظام تشغيل الخدمات لدعم بناء البرامج.هناك نوعان منها:

  • احدهما يعتمد على لغة البرمجة ؛ بمعنى انه متاحُُ فقط في لغة برمجة معينة، ويقوم على استخدام syntax وعناصر هذه اللغة لجعله ملائما للاستخدام في هذا السياق.
  • و الأخرى مستقلة عن اللغة وهذا يعنى انها مكتوبة بطريقة تتيح لها ان تستخدم في العديد من لغات البرمجة (عادةً an assembly/C-level interface) وهذا النمط مطلوب في أنواع الواجهات البرمجية API المستخدمة في service غير المرتبطة بعملية معينة process، أو نظام تشغيل وعادة ما تكون متاحة كروتين منفصل.



مثال عن النوع الثاني هو على سبيل المثال ،الموقع الذي يعرض أماكن تواجد المطاعم في مكان ما يتيح للمستخدم بوضع مجموعة معلومات اضافية على نفس خريطة الموقع التي جلبت من خرائط جوجل (Google Maps)، وذلك بسبب ان خرائط جوجل تحتوي على هذا النوع والذي يسمح بعمل هذا الشيء.واجهة برمجة التطبيقات الخاصة بخرائط جوجل تتحكم بماهية المعلومات التي يمكن للمستخدم استغلالها وما الذي يستطيع ان يعمل بهاوكذلك ليس على الخرائط الخاصة لجوجل فقط بل انها تستخدم في العديد من المهام الاخرى مثل ربطها بموقع الكترونى لاتاحة فرصة عملية الشراء من خلال الموقع بالفيزا او كروت الــ ATM.
اقرء المزيد
السبت، 18 أكتوبر 2014
كيفية تثبيث Apache , PHP , MySQL على Linux


"LAMP" هو مجموعة من البرمجيات مفتوحة المصدر التي يتم تثبيتها عادة معا لتمكين السيرفر من استضافة المواقع وتطبيقات الويب الديناميكية. هذا المصطلح هو في الواقع اختصار كل عام وهو ما يمثل نظام التشغيل لينكس، مع خادم الويب Apache.
يتم تخزين موقع البيانات في قاعدة بيانات Mysql، وتتم معالجة الديناميكية بواسطة PHP. 

في هذا الدليل، وسوف نحصل على كومة LAMP القابلة المثبتة على أوبونتو 14.04 .

الخطوة الولى :  تثبيت أباتشي - Apache


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

نفتح Terminal  ونكتب :

sudo apt-get update
سيطل منك كلمة مرور ROOT تدخلها ويبدأ مباشرة ثم
sudo apt-get install apache2
بعد انتهاء العملية الثانية تسطيع التأكد من ان Apache ثن تثبيتثه بنجاح ودالك من خلال الدخول الى الرابط التالي عبر المتصفح http://120.0.0.1


المرحلة الثانية : تثبيت Mysql


دائما في Terminal نكتب 
sudo apt-get install mysql-server php5-mysql
ثم
sudo mysql_install_db
ثم 
sudo mysql_secure_installation
سيطلب منك إدخال كلمة المرور قمت بتعيين لحساب Mysql root. بعد ذلك، سوف يطلب منك إذا كنت ترغب في تغيير ذلك كلمة المرور.  اكتب "N" ل "لا"
بالنسبة لبقية الأسئلة، يجب عليك ببساطة ضرب "Enter" المفتاح م لقبول القيم الافتراضية. سيؤدي هذا إلى إزالة بعض المستخدمين عينة وقواعد البيانات، وتعطيل تسجيلات الجذر النائية، وتحميل هذه القواعد الجديدة بحيث الخلية فورا تحترم التغييرات التي حققناها. 

المرحلة الثالثة : تثبيث PHP

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
اكتب هذا الأمر لفتح ملف dir.conf في محرر النص مع صلاحيات root:

sudo nano /etc/apache2/mods-enabled/dir.conf
غير المكتوب الى :

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
عند الانتهاء، قم بحفظ الملف وإغلاقه عن طريق الضغط على "CTRL-X". سيكون لديك لتأكيد حفظ بكتابة "Y" ثم ضرب "Enter" لتأكيد ملف حفظ الموقع.

sudo service apache2 restart

الخطوة الخيرة : اختبارات

لفعل دالك سنقوم بانشاء ملف باسم info.php داخل المسار التالي /var/www/html/info.php

sudo nano /var/www/html/info.php
ثم نكتب الاسطر التالية :

<?php
phpinfo();
?>
عند الانتهاء، قم بحفظ الملف وإغلاقه عن طريق الضغط على "CTRL-X". سيكون لديك لتأكيد حفظ بكتابة "Y" ثم ضرب "Enter" لتأكيد ملف حفظ الموقع.

ثم من خلال المتصفح ندخل على : http://127.0.0.1/info.php

في حالة ما مر كل شيء على ما يرام ستجد كما هو موضح في الصورة 



اقرء المزيد
الأربعاء، 15 أكتوبر 2014
النسخة 8 بيتا للعملاق  Drupal جاهزة للتجربة على Sandbox Acquia Cloud

النسخة 8 بيتا للعملاق  Drupal جاهزة للتجربة على Sandbox Acquia Cloud

أعلنت شركة  Acquia التي بالمناسبة موؤسسها هو صاحب مشروع Drupal .من  بين الميزات الجديدة للنسخة : بيئة تحرير البصرية للمستخدمين والمطورين للموقع، وحدة نمطية المشاهدات لتصميم تطبيقات الويب دون الحاجة إلى البرمجة الهجينة.

  الجانب المطوريين، دروبال 8 لديها خدمات الويب مريحة ويتيح استخدام الإطار Symfony2. الإصدار 8 يجلب مجموعة إضافية من واجهات برمجة التطبيقات. لتطبيقات الواجهة الأمامية، توفير مكتبات جديدة، عناصر النموذج في HTML5 ونماذج المحرك Twig.

 

 

 

 

 

اقرء المزيد
الأربعاء، 12 فبراير 2014
 كتاب من اقوى الكتب لتعليم لغة الهتمل HTML



كتاب من اقوى الكتب لتعليم لغة الهتمل HTML وبقمة سهوله والمتعة والتشوق اثناء التعليم

يبدأ من الصفر حتى الاحتراف


عدد صفحات الكتاب: 169 صفحة

المؤلف: أیوب معتصم


لتحميل الكتاب
http://www.mediafire.com/?jb9vtyn9q4ztyij
اقرء المزيد
الخميس، 9 يناير 2014
البرمجة كائنية


البرمجة كائنية المنحى (بالإنجليزية: Object-oriented programming - OOP ) (ويطلق عليها أحيانا اسم: برمجة غرضية المنحى، أو برمجة شيئية أو برمجة موجهة نحو الكائنات (أو العناصر). وهي عبارة عن نمط برمجة متقدم، وفيه يقسم البرنامج إلى وحدات تسمى الكائنات (Objects)، كل كائن عبارة عن حزمة (تعليب) من البيانات (المتغيرات والثوابت) والدوال ووحدات التنظيم وواجهات الاستخدام. ويتم بناء البرنامج بواسطة استخدام الكائنات وربطها مع بعض وواجهة البرنامج الخارجية باستخدام هيكلية البرنامج وواجهات الاستخدام الخاصة بكل كائن.

سأتطرق ان شاء الله في كتابي القادم الى هده النوع من البرمجة

اقرء المزيد
السبت، 4 يناير 2014
الأربعاء، 15 مايو 2013
التعامل مع الملفات في PHP




اليوم إن شاء الله سوف نتطرق إلى كيفية التعامل مع الملفات في php , فبلا شك تسمع أن php أقوى لغة تطويرية لتطبيقات ومواقع الويب و السبب هو دعمها لعدد كبير من الخواص و المكتبات ومن بين بعض الخواص هو القدرة على التعامل مع الملفات php على سبيل المثال يستطيع إنشاء ملف من أي نوع بترخيص محدد للكتابة والقراءة ويستطيع حذفه أو إعادة تسميته ونسخه...
كل هذه الوظائف تقوم بها دوال منفردة ومتخصصة و كعادة php فإننا نجد عدة دوال تقوم  بنفس الوظيفة .
سنرى في البداية كيفية إنشاء ملف بواسطة php  سوف نستعمل دالة fopen والتي تستعمل أساسا لفتح الملفات ولكن وفي حالة  عدم وجود الملف المراد فتحه و وجود ترخيص (0777)  الكتابة للمستخدم فان php يقوم بإنشاء الملف مثال :

< ?php
fopen(‘test.txt’, ‘w’) ;
?>

لنفترض أننا نريد أن نكتب جملة hello world ! في الملف فيكفي استعمال دالة fwrite()

< ?php
$file = fopen(‘test.txt’, ‘w’) ;
fwrite($file,‘hello world !’) ;
fcolse($file) ;
?>


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

لنفترض ألان أننا نريد إعادة تسمية الملف test.txt  فإننا سنستعمل دالة متخصصة أخرى وهي rename() وهدا مثال عليها :
< ?php
rename(‘test.txt’, ‘new_test.txt’) ;
?>
لنسخ الملف إلى مجلد باسم bin
< ?php
copy(‘test.txt’, ‘./bin’) ;
?>

بعد تفكير عميق  ههههه اتضح أننا يجب أن نحذف الملف test.txt لذا سنستدعي دالة unlink() وهدا مثال عليها :
< ?php
unlink(‘test.txt’) ;
?>


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


للإشارة فقط فان دوال التعامل مع الملفات كثير ومتنوعة جدا لدا  تطرق فقط الى أهمها .
بالإضافة إلى التعامل مع الملفات فان php يقدم دوال أخرى لتعامل مع المجلدات:
لإنشاء مجلد يكفي استدعاء mkdir() ولاعادة تسميتهrmdir() ,لتحقق من وجوده is_dir()  ...


واهم دالة تستخدم للمجلدات هي readdir() تصلح لقراءة محتوى المجلد مثال بسيط

< ?php
$handle=opendir(’.’) ;
echo "Directory handle: $handle\n;"
echo "Files:\n;"
while (($file = readdir($handle))!==false) {
echo "$file\n;
}
closedir($handle) ;
?>


في رعايــــــــــة الله
اقرء المزيد
السبت، 27 أبريل 2013
‫دوال التعامل مع‬ ‫النصوص في ‪PHP‬‬


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







1 – دوال تحرير والتحكم بالنصوص :

1 – 1 دوال حدف المسافات :
دوال تقوم بحدف المسافات الموجدة في النصوص وهده الدوال مهمة لفترت المعلومات وحماية المداخل .
<?php
$str = 'Allah ' ;
print trim( $str ) ;
?>
نتيجة هدا المثال هي Allah لكن من دون المسافات التي على يمين الكلمة. قِس على هدا المثال جميع الدوال اﻻخر لكن باختلافات بسيطة.
ltrim :تقوم بنفس دور trim ولكنها تقوم بحدف المسافات من على يسار الكلمة .
chop : تحدف المسافات من اليمين الى اخر النص .
1 – 2 دوال طباعة خاصة :
دوال وظيفتها اﻻساسية هي طباعة النصوص لكنها تقوم بطباعة بطريقة مختلفة هههه ساشرح مثالا اريد طباعة متغير يحمل قيمة عددية 3,4859868 فبستعمال دالة print النتيجة هي طبعا 3,4859868 لكن لنفترض اني اريد ان اطبع نفس المتغير لكن على هدا الشكل 3,48 فيكفي ات استعمل دالة printf المثال :
<?php
$str =3.4859868;
printf("value of the variable str is %.2f",$str);
?>
هده الدالة تقبل مدخلين النص و القيمة المستبدلة في المثال السابق هي قيمة المتغير التي ستضعها الدالة مكان 2.% والتي تحدد للدالة اننا نريد طباعة قيمة عشرية برقمين وراء الفاصلة .
هدا الجدوال يلخص جميع انواع التحويلات التي تقبلها الدالة
لنوع
المعنى
b
يترجم على شكل عدد صحيح ويطبع على شكل ثنائي
c
ترجم على شكل عدد صحيح ويطبع على شكل على حروف
d
يترجم على شكل عدد صحيح ويطبع على شكل عشري
f
يترجم على شكل عدد عشري ( double ) ويطبع على شكل عشري ( float )
s
يترجم على شكل نص ويطبع على شكل نص
تجدر اﻻشارة الى انا هناك دالة تقوم باعادة القيمة المعدلة وهي دالة sprintf
1 – 3 دوال كابتلز - Capitales :
دوال بسيطة تستعمل لتعديل على النصوص أمثلة :
<?php
$str = 'the zizwar' ;
print strtoupper ( $str ) ; // النتيجة : THE ZIZWAR
print strtilower ( $str ) ; // النتيجة :the zizwar
print ucfirst ( $str ) ; // النتيجة : The zizwar
print ucwords ( $str ) ; // النتيجة : The Zizwar
?>
هده الدوال متخصصة في في تكبير وتصغير حروف اﻻنجليزية
strtoupper: من احرف صغير الى احرف كبيرة.
strtolower: من احرف كبيرة الى اخرى صغيرة.
ucfirst:تكبير اول حرف من الجملة .
ucwords:تكبير اول حرف من كل كلمة





2 – دوال تقسيم وتجميع النصوص :

2 – 1 دوال التقسيم و الجمع :

وهنا سنتحدث عن دالتين عملاقتين في PHP اﻻولى هي explode وتستعمل لتقسيم النصوص :

<?php
$str = 'matrixae.com' ;
$data = explode('.' , $str) ;
print 'website name ' . $data[0] ; // النتيجة هي : matrixar
print 'Domine Type '. $data[1] ;النتيجة هي : com
?>
explode تقبل مدخلين اﻻول وهو الكلمة او الحرف الدي ستقوم الدالة بتقسيم عنده ادا صادفته في المدخل الثاني الدي هو النص الدي سيتم تقسيمه

الدالة الثانية هي implode وهي عكس explode وتستعمل لتجميع النصوص مثال توضيحي


<?php
$mail[0] = 'name' ;
$mail[1] = 'domaine.com' ;
$email_n = implode('@',$email) ;
print $email_n ; // النتيجة name@domaine.com
?>
قد نستعمل الدالة join مكان implode لتجميع النصوص ايضا.

3 – دوال اخرى :

3 – 1 دوال البحث في النصوص :
هي دوال خاصة تستعمل للبحث داخل النصوص أمثلة
<?php
$txt = 'can i help you mister jhon ' ;
$find = 'you' ;
$resulat = strstr ($txt , $find);
print $resulat ; // you mister jhon النتيجة
?>
الدالة strstr تقوم بالبحث عن الكلمة داخل نص ثم تقوم بارجاع الكلمة المبحوث عنها وما يليها من النص و الفرق بينها وبين strrchr هو انه اذا كانت الكلمه مكرره مرتين في الجملة , فسوف تقوم بإرجاع النص من اخر مكان تكررت فيه الجملة, على عكس strstr فهمي تقوم بإرجاع النص من اول مكان تكررت فيه الجملة.
وهناك ايضا الدالة strrstr والفرق بينها وبين strstr هو ان strrstr حساسة لحالة اﻻ حرف .

3 – 2 دالة تحديد طول النصوص :
دالة بسيطة تقوم بارجاع قيمة تدل على عدد احرف النص بما في دلك المسافات والنقط والفواصل …
<?php
$txt = 'hi mom' ;
$len = strlen($txt) ;
print $len; // النتيجة 6
?>
3 – 3 دوال مقارنة النصوص :
هذه الدوال تستخدم لمقارنة النصوص , فالدالة strcmp تقوم بإعطائها نصين وتقوم بمقارنتهما , اذا كانو متساوييان سوف ترجع لك القيمه 0 , اما اذا كان الاول اكبر من الثاني سوف ترجع رقم اكبر من الصفر واذا كان اصغر سوف ترجع قيمه اقل من الصفر ( اي بالسالب ) , وهذه الدالة غير حساسه لحالة الاحرف وهدا هو الفرق الوحيد بينها وبين strcasecmp
مثال :


<?php
$txt1 = 'hi' ;
$txt2 = 'hi' ;
$len = strcmp($txt) ;
print $len; // النتيجة 0
?>
3 – 4 دالة تغير النصوص :
دالة مهمة جدا تقوم باستبدال كلمة او عدت كلمات في نص بكلمة او كلمات اخرى .
مثـــــــــــــال
<?php
$txt = 'Abderrahim is admin of Ginix Labs and hes nickname is Zizwar' ;
$txt1 = array('Abderrahim','The Zizwar','Ginix Labs') ;
$txt2 = array('Abdenacer','Dev nasser','Matrixar') ;
$txto = str_replace($txt1,$txt2,$txt) ;
print $txt; // النتيجة Abdenacer is admin of Matrixar and hes nickname is Dev nasser
?>
تجدر اﻻشارة اﻻ ان استبدال عدة كلمات في نفس الوقت باستعمال مصفوفة دخل حيز الممكن ابتداا من تحديث PHP الى النسخة 4.0.5
في رعاية الله
اقرء المزيد