اشترك في مجموعة montadaphp.net حتى تصلك أخبار المنتدى  

بريدك الإلكتروني:

صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 20 من 29
شجرة الإعجاب5إعجاب

الموضوع: [دالة] تأمين النص من اخطار XSS و SQL INJECTION

  1. #1
    * أبو عمــر * الصورة الرمزية coder
    تاريخ التسجيل
    24-12-2006
    السن
    39
    المشاركات
    3,788
    معدل تقييم المستوى
    15

    افتراضي [دالة] تأمين النص من اخطار XSS و SQL INJECTION

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

    الدالة بسيطة جداً وتكفيني بصراحة فيما يخص تأمين اي نص مدخل من قبل الزائر أو العضو ضد أخطار XSS و SQL INJECTION او باختصار (اختراق الموقع)..

    كود PHP:
    function make_safe($str)
    {
        return 
    htmlspecialchars(addslashes(trim($str)));


    طريقة الاستخدام:
    كود PHP:
    $safe_string make_safe($_GET['user_input']); 
    بعد ذلك يمكنك استخدام النص بامان في اي استعلامات او طباعة للشاشة بدون قلق

    اتمنى من الله عدم القصور
    وارجو ان تكون مفيدة لكم

    تحياتي
    محمود
    bishoe, mohamedali, mr_eng_php و 1 آخرون معجبون بهذا .
    رُبّ أخٍ لك لم تلِدهُ أُمُّكَ
    الطموح يعني الحلم، أوله صبر وتفاؤل، وأوسطه اجتهاد وإرادة، وآخره نتيجة رائعة بإذن الله.

  2. #2
    عضو شرف الصورة الرمزية enigma
    تاريخ التسجيل
    04-03-2007
    المشاركات
    689
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    لدي سؤال حول دوال تأمين الحماية للموقع والسكربت وعدم إعطاء فرص وثغرات للاختراق
    الذي يهمني هو أنني اعتمد كثيراً على تقطيع الملفات لعدة صفحات فيها روابط تظهر العناوين ثم العرض ثم الأرشيف ومن ثم باقي الإعدادات كطباعة المحتوى وغيرها
    لنفرض أن لدينا ملف مقالات index.php
    في هذا الملف يجري كل شيء، عرض المقالات، قراءة المقال، طباعة المقال، أرشيف المقالات..
    كود HTML:
    index.php?art=view
    index.php?art=view&id=$id
    index.php?art=archive
    index.php?art=archive&page=3
    index.php?art=print&id=$id
    index.php?art=save&id=$id
    هل تأمين الحماية على الاسماء، والقيم والأرقام واجب
    أم فقط القيم
    مثل
    كود PHP:
    $page make_safe($_GET['$paging']); 
    وسؤال آخر قرأت عن أمر الدالة المذكورة addslashes هي تمنع بعض الرموز المستخدم في حقن الاستعلام والمراد منها اختراق المواقع، فهي بالحقيقة تتعرف على الرموز " أو ' من خلال كتابته هو بالشكل الطبيعي، لكن عندما يتم وضع رمزه الرقمي فلا يمكنها التعرف عليه
    ما مدى صحة هذه المعلومة؟
    وإن كانت صحيحة، فما الذي يتوجب علينا فعله في منع مثل هذه الثغرات؟؟؟


    تحياتي

  3. #3
    * أبو عمــر * الصورة الرمزية coder
    تاريخ التسجيل
    24-12-2006
    السن
    39
    المشاركات
    3,788
    معدل تقييم المستوى
    15

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    بخصوص تأمين قيم المتغيرات فيجب تأمين جميع ما يتم استقدامه من المستخدم سواءاً عن طريق المصفوفة $_GET أو المصفوفة $_POST

    ولكن تختلف طريقة المعالجة فمثلا لو كنت تتوقع ان يحتوي المتغير على INTEGER أو عدد صحيح فيستحسن استخدام الدالة intval حيث ترجع الدالة القيمة الصحيحة للمتغير أو القيمة صفر لو كان في المتغير اي شيء غير عدد صحيح..

    أما بالنسبة للنصوص فيستحسن استخدام الدالة addslashes() مع trim() عند تنفيذ الاستعلامات (لتجنب أخطار SQL INJECTION)
    و
    htmlentites() و trim() عند الطباعة للمتصفح (لتجنب أخطار XSS)

    اما بخصوص ادخال العلامات بطريقة غير مباشرة فلا معرفة لي بها بصراحة .. والله أعلم
    رُبّ أخٍ لك لم تلِدهُ أُمُّكَ
    الطموح يعني الحلم، أوله صبر وتفاؤل، وأوسطه اجتهاد وإرادة، وآخره نتيجة رائعة بإذن الله.

  4. #4
    عضو شرف الصورة الرمزية محب php
    تاريخ التسجيل
    18-03-2007
    المشاركات
    60
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    السلام عليكم

    أخي محمود .. ماذا عن الدالة.. هل تنفع في كل الحالتين
    كود PHP:
    strip_tags 
    وشكراً

  5. #5
    * أبو عمــر * الصورة الرمزية coder
    تاريخ التسجيل
    24-12-2006
    السن
    39
    المشاركات
    3,788
    معدل تقييم المستوى
    15

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    اقتباس المشاركة الأصلية كتبت بواسطة محب php مشاهدة المشاركة
    السلام عليكم

    أخي محمود .. ماذا عن الدالة.. هل تنفع في كل الحالتين
    كود PHP:
    strip_tags 
    وشكراً
    بالنسبة للدالة strip_tags() فتنفع في الحالة الثانية فقط، حالة طباعة نص الى المتصفح
    رُبّ أخٍ لك لم تلِدهُ أُمُّكَ
    الطموح يعني الحلم، أوله صبر وتفاؤل، وأوسطه اجتهاد وإرادة، وآخره نتيجة رائعة بإذن الله.

  6. #6
    مبرمج محترف
    تاريخ التسجيل
    24-05-2007
    السن
    26
    المشاركات
    126
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    اعتدر عن التطفل اخي coder

    بخصوص سؤال محب php

    سوف تقوم الدالة بازالة اي وسم html نهائيا وليس ايقاف مفعولة

    سلامات


    ####################
    # My Template Engine
    # Authors : Bruce [founder] , Saanina [developer]
    # GO ON ++ with version 1.3.2
    ####################


  7. #7
    مطور منتديات mysmartbb
    تاريخ التسجيل
    22-05-2007
    المشاركات
    276
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    السلام عليكم

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


    اي يمكن تمرير وسم معين ليتم عرضه مع النص وعدم مسحه .
    اذا كان الوسم اللذي تريد تمريره للسماح به يحتوي على اقفال مثل ( <p> </p> ) فيكفي ان تقوم بتمرير الاول منهما <p>

    الصيغة العامة
    كود PHP:
    $new_text strip_tags($text); 
    مثال

    كود PHP:
    $text     '<p>Montada</p><!-- Comment --> Php';
    $new_text strip_tags($text);
    echo 
    $new_text
    وناتج المثال

    Montada php

    AJAX with PHP Soon

  8. #8
    عضو شرف الصورة الرمزية ahmedzain
    تاريخ التسجيل
    05-06-2007
    السن
    33
    المشاركات
    175
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    بسم الله
    شكرا لكم على تلك المناقشات التى طرحتموها
    ولكنى بصراحة
    لم افهم بالنسبة المعقولة
    حيث اننى مبتدى

    بالتالى

    اريد من سيادتكم

    توضيح الموضوع لى وللاخوة المبتدئين

    ارجو المعذرة من القاء سؤالى على حضراتكم

    السلام عليكم

  9. #9
    عضو شرف الصورة الرمزية shmr
    تاريخ التسجيل
    14-06-2007
    المشاركات
    78
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    أخوي coder

    ممكن شوي بس مافهمت

    عندي المتغيرات التاليه

    كود PHP:
    $row[vi]

    $row[id]

    $row[name
    كيف امرر عليها الداله قبل عمل الشرط في قاعدة البيانات ؟

  10. #10
    * أبو عمــر * الصورة الرمزية coder
    تاريخ التسجيل
    24-12-2006
    السن
    39
    المشاركات
    3,788
    معدل تقييم المستوى
    15

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    اقتباس المشاركة الأصلية كتبت بواسطة ahmedzain مشاهدة المشاركة
    بسم الله
    شكرا لكم على تلك المناقشات التى طرحتموها
    ولكنى بصراحة
    لم افهم بالنسبة المعقولة
    حيث اننى مبتدى

    بالتالى

    اريد من سيادتكم

    توضيح الموضوع لى وللاخوة المبتدئين

    ارجو المعذرة من القاء سؤالى على حضراتكم

    السلام عليكم
    تفضل واذكر ما الشيء الذي لم تفهمه حتى يتم توضيحه

    اقتباس المشاركة الأصلية كتبت بواسطة shmr مشاهدة المشاركة
    أخوي coder

    ممكن شوي بس مافهمت

    عندي المتغيرات التاليه

    كود PHP:
    $row[vi]

    $row[id]

    $row[name
    كيف امرر عليها الداله قبل عمل الشرط في قاعدة البيانات ؟
    كالتالي:

    كود PHP:
    $row['vi'] = make_safe($row['vi'];
    $row['id'] = make_safe($row['id'];
    $row['name'] = make_safe($row['name']; 
    رُبّ أخٍ لك لم تلِدهُ أُمُّكَ
    الطموح يعني الحلم، أوله صبر وتفاؤل، وأوسطه اجتهاد وإرادة، وآخره نتيجة رائعة بإذن الله.

  11. #11
    عضو شرف الصورة الرمزية shmr
    تاريخ التسجيل
    14-06-2007
    المشاركات
    78
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    اقتباس المشاركة الأصلية كتبت بواسطة coder مشاهدة المشاركة
    تفضل واذكر ما الشيء الذي لم تفهمه حتى يتم توضيحه


    كالتالي:

    كود PHP:
    $row['vi'] = make_safe($row['vi'];
    $row['id'] = make_safe($row['id'];
    $row['name'] = make_safe($row['name']; 
    الف شكر وجزاك الله خير الصراحه استاذ بمعنى الكلمه ومحب للخير

  12. #12
    عضو شرف الصورة الرمزية enigma
    تاريخ التسجيل
    04-03-2007
    المشاركات
    689
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    كود PHP:
    $row['vi'] = make_safe($row['vi']; 
    $row['id'] = make_safe($row['id']; 
    $row['name'] = make_safe($row['name']; 
    طيب لدي سؤال هل يتوجب علينا وضع جميع البيانات المستخرجة من قواعد البيانات في دالة الحماية.
    (انا اقصد بعد الإضافة وليس قبل الإضافة) أي أنني اريد استعراض البيانات.
    أما بالنسبة لطريقة العرض فهي في تحديد رقم المعرف للموضوع
    واكييد تم حماية الرابط هكذا:
    كود PHP:
    index.php?show=$id
    //الأي دي هنا محمي عن طريق الدالة
    intval($_GET['id']); 
    وهل هذه الدالة تكفي لعدم إدخال بيانات بعد رقم الآي دي المعروض؟

    لكن اريد استعراض العنوان والنص هكذا:
    كود PHP:
    echo "
    $row['t'];
    $row['text'];


  13. #13
    عضو شرف الصورة الرمزية enigma
    تاريخ التسجيل
    04-03-2007
    المشاركات
    689
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    up
    up
    up
    ...

  14. #14
    عضو شرف
    تاريخ التسجيل
    05-04-2007
    السن
    26
    المشاركات
    114
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    موضوع مهم إخواني
    لمذا أخي لا نستعمل دالة الحماية فقط عند إدخال البيانات إلى القاعدة فقط
    دون تطبيق الدالة على المخرجات من القاعدة هذا حسب رأيي
    ثانيا بالنسبة إلى هنا index.php?show=$id
    يمكننا التأكد من المتغير id و تطبيق جميع الدوال التي تقوم بجعل هذا المتغير آمنا
    يمكننا كذلك إستعمال التعابير القياسية إن أمكن
    أخيرا أرجو أن يظل هذا الموضوع مفتوحا حول أمن السكريبت من ثغرات xss و SQl INJECTION

  15. #15
    عضو شرف الصورة الرمزية enigma
    تاريخ التسجيل
    04-03-2007
    المشاركات
    689
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    نعم بالنسبة للاستعلام عن بعض البيانات من القاعدة هل في جلب البيانات منها خطورة على السكربت
    ولماذا نجعل الحماية على جميع المستخرجات من بيانات؟
    هل يمكن أن يرى (مخترق محترف) ما يتم ترجمته في السيرفر من بيانات وإخراجه كـ نص أو صورة أو رقم إلى الصفحة العادية؟
    إن كانت المتغيرات المستعلمة في قراءة البيانات من القاعدة ولن تظهر للمتصفح أبداً ولن تكون سوى بيانات html ونصوص وصور وغيرها... فلماذا نحميها من عمليات الاختراق


    لو افترضنا أن هناك متغير نقوم باستخدامه لجلب الصفحة مثلاً:
    $id
    هذا نعم ممكن أن يأثر لأن السبب في ذلك هو وجوده في دالة استعلام مثلاً:
    كود PHP:
    $query mysql_query("SELECT id, title, text FORM $tablename WHERE id=$id");
    while (
    $row mysql_fetch_array($query)) {
    echo 
    $row['title'];
    echo 
    $row['text'];

    نعم هذا الاستعلام ممكن أن يشكل خطورة ولذلك نضعه في إحدى الدوال المصنوعة أو الجاهزة
    كود PHP:
    $id intval($_GET['id']);
    $id make_safe($id); 
    طيب لماذا نضع المتغيرات الأخرى في دوال حماية
    مثل المتغيران الآخران title و text ؟!
    التعديل الأخير تم بواسطة enigma ; 10-08-2007 الساعة 03:19 PM

  16. #16
    عضو شرف الصورة الرمزية islamcoming
    تاريخ التسجيل
    23-01-2008
    السن
    24
    المشاركات
    287
    معدل تقييم المستوى
    10

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    هل هذا كافي للحماية أم لا ؟

    كود PHP:
    $login mysql_real_escape_string(htmlspecialchars(addslashes(trim($_POST['login']))));
    $pass  mysql_real_escape_string(htmlspecialchars(addslashes(trim($_POST['pass']))));
    $sql"SELECT * FROM admin WHERE Login='$login' and Pass='$pass'"

  17. #17
    عضو شرف الصورة الرمزية بلال كيالي
    تاريخ التسجيل
    10-04-2008
    المشاركات
    1,605
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    السلام عليكم
    ألف شكر على الfunction الراائع
    انا ضفت على الfunction
    شغلات ممكن تشفلي ياها مفيدة ولا هيه إضافات ما بتزيد ولا بتنقص
    كود HTML:
    function make_safe($vars){
    	$wrong = array("select", "where", "insert", "delete", "update", "order by", "and", "=", "or", "between");
    		$html =strtolower(mysql_real_escape_string(htmlspecialchars(addslashes(trim(str_replace($wrong,"******",$vars))))));
    return $html ;
    }
    والسلالالالالالام
    سبحان الله وبحمده , سبحان الله العظيم

    http://forum.montadaphp.net/t7750/

    الاتصال بقواعد البيانات
    http://vimeo.com/9401688 لتحميل الملف
    ----------------------------------------------------------------------
    شرح استقبال المتحولا بالـ POST
    http://vimeo.com/9422968 لتحميل الملف
    ----------------------------------------------------------------------
    اضافة البيانات لقاعدة البيانات
    http://vimeo.com/9517375 لتحميل الملف
    ----------------------------------------------------------------------
    عرض البيانات (اختبار)
    للمشاهدة اون لاين (جزئين) http://vimeo.com/9759688 الثاني
    لتحميل الملف (جزئين) الاول الثاني
    ----------------------------------------------------------------------
    بناء تسجيل الدخول للوحة التحكم (الجزئ الاول)
    http://vimeo.com/9957777 http://vimeo.com/9957777
    ----------------------------------------------------------------------

  18. #18
    عضو شرف الصورة الرمزية the_unknown
    تاريخ التسجيل
    17-11-2007
    السن
    29
    المشاركات
    358
    معدل تقييم المستوى
    11

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    اسمحولي , و لكن الموضوع كان 10-08-2007, 02:17 PM
    The Unknown
    Php c0d3r


  19. #19
    عضو جديد
    تاريخ التسجيل
    27-04-2008
    المشاركات
    5
    معدل تقييم المستوى
    0

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    اقتباس المشاركة الأصلية كتبت بواسطة coder مشاهدة المشاركة
    السلام عليكم ورحمة الله وبركاته

    الدالة بسيطة جداً وتكفيني بصراحة فيما يخص تأمين اي نص مدخل من قبل الزائر أو العضو ضد أخطار XSS و SQL INJECTION او باختصار (اختراق الموقع)..

    كود PHP:
    function make_safe($str)
    {
        return 
    htmlspecialchars(addslashes(trim($str)));


    طريقة الاستخدام:
    كود PHP:
    $safe_string make_safe($_GET['user_input']); 
    بعد ذلك يمكنك استخدام النص بامان في اي استعلامات او طباعة للشاشة بدون قلق

    اتمنى من الله عدم القصور
    وارجو ان تكون مفيدة لكم

    تحياتي
    محمود
    اخي الغالي

    اريد استخدامها كمنتج لـvbulletin

    اذا حطتها في منتج بحطها كدا فقط

    كود PHP:
    function make_safe($str)
    {
        return 
    htmlspecialchars(addslashes(trim($str)));
    }  
    $safe_string make_safe($_GET['user_input']); 
    واذا يوجود تعديل يرجي التعديل بأنتظارك يالغلا

    جزاك الله خير

  20. #20
    عضو مشارك
    تاريخ التسجيل
    26-07-2009
    المشاركات
    59
    معدل تقييم المستوى
    9

    افتراضي رد : [دالة] تأمين النص من اخطار XSS و SQL INJECTION

    شكرا لك يا غالي
    انا سبق لي ووضعت $_GET عادية
    كيف أستطيع أن يقرأ $_GET على أنها الدالة التي وضعتها

صفحة 1 من 2 12 الأخيرةالأخيرة

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

المواضيع المتشابهه

  1. استفسار عن دالة تأمين المدخلات
    بواسطة memadesoky في المنتدى البرمجة الآمنة PHP Safe Coding
    مشاركات: 6
    آخر مشاركة: 08-07-2012, 02:48 PM
  2. دالة لتنظيف النص
    بواسطة Moha Dragon في المنتدى دوال خاصة
    مشاركات: 7
    آخر مشاركة: 13-06-2011, 02:20 AM
  3. طلب دالة لوضع سلاش في النص
    بواسطة pinibl في المنتدى دوال التعامل مع النصوص
    مشاركات: 6
    آخر مشاركة: 13-02-2011, 05:00 AM
  4. دالة بسيطة للحماية من اخطار SQLInjection
    بواسطة the_unknown في المنتدى دوال خاصة
    مشاركات: 13
    آخر مشاركة: 11-12-2010, 06:27 PM
  5. استفسار حول تأمين النص من xss
    بواسطة aliphp في المنتدى مشاكل وحلول PHP Errors & Troubleshooting
    مشاركات: 4
    آخر مشاركة: 04-06-2010, 01:02 AM

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •