الأربعاء، فبراير 23، 2011

درس : كود حماية المدخلات من الأكواد الخبيثة بالكلاس و الفانكشن class function

بسم الله الرحمن الرحيم

كيف الحال زوار و مرتادي مدونتي العزيزة إن شاء الله بخير ؟

اليوم بديت ادخل في البرمجة الكائنية 

وأنشأت كلاس داخلة فنكشن لحماية المدخلات

و جربت ادخلت كود خبيث و الحمد لله تمام التمام ما اثر فيه شئ 

أخواني الفكره كل الفكره اني انشأ كلاس 

المهم ما اطيل عليكم 

اخليكم مع الأكواد 

ملاحظة اقرأ التعليقات لمعرفة كل ما كتب

اخليكم مع الاكواد




<?php
# مدونة فاضل السلطان
//# لدروس البرمجة php and mysql
//# http://fadelsultan.blogspot.com/
//وإن شاء الله اكون وفقت في الشرح
//اخوكم :فاضل - بو عبد الله
#   درس حماية المدخلات عن طريق الكلاس
//  طبعاًَ تقدر تستقني عن الكلاس
//
# إنشاء الكلاس
class fadelsultan { // عرفنا الكلاس  و وضعنا اسماًَ له
   # public $x = "Fadel Sultan"; // لتعريف متغير داخل الكلاس

    public function post ($sec)// تعريف دالة حماية مصفوفة $_POST
    {
     $sec = trim($sec) ; // دالة trim  لحماية المدخل    وو ضيفتها حذف المسافات المضافة في المدخل من البداية و النهاية
     $sec = strip_tags($sec) ;#تقوم بحذف وسوم html اي العلامة < > وما بينها
     #$sec = mysql_real_escape_string($sec) ; #تقوم بحذف المسافات مثل السطر الجديد والمسافه الجديده \r\t و \r\n وغيرها هذه الدالة لا تستخدم إلى بوجود اتصال مع قاعدة البيانات
     $sec = htmlspecialchars($sec) ; // تقوم بإخراج اكواد html  كما كتبت من دون تنفيذ
     $sec = addslashes($sec) ; # تقوم الدالة بإضافة العلامة \ (سلاش) قبل بعض الرموز الخاصة مثل (' أو " أو \).

     return $this -> post = $sec ; # هنا ارجعنا القيمة إلى المتغير
    }
    # هنا أنشأنا الفورم و وضعناه في متغير لطباعتة خارج الكلاس
    public $form = "
                    <form action='lessan1_create_class.php' method='post' >
                    <table border='1' align='center' width='25%'>
                    <tr>
                    <td colspan='2' align='center'>نموذج حماية البيانات</td>
                    </tr>
                    <td>الأسم</td>
                    <td><input type='text' name='username'/></td>
                    <tr>
                    <td>الإيميل </td>
                    <td><input type='text' name='email' /></td>
                    </tr>
                    <tr>
                    <td colspan='2' align='center'>
                    <input type='submit' name='send' value='ارسل' />
                    </td>
                    </tr>
                    </table>
                    </form>
                    " ;

}




$fadel = new fadelsultan() ; // لإستدعا الكلاس

echo $fadel ->form ; //استدعاء الفورم
#echo $fadel->x ; // لطباعة المتغير الموجود داخل الكلاس

# هنا نحمي المدخلات عن طريق  تعريفها كمتغير و إسناد قيمتها إلى كلاس الحماية
$name = $_POST['username'] ;
$name =  $fadel -> post($name) ;
$email = $_POST['email'] ;
$email =  $fadel -> post($email) ;
#$send = $_POST['send'] ;


# شرط التأكد على الضغط على زر ارسل
if(isset($_POST['send']))
{
    # طباعة المدخلات
    echo  $name ;
    echo "<br />" ;
    echo  $email ;
}

?>








اخوكم : بو عبد الله