النتائج 1 إلى 6 من 6

الموضوع: سؤالي ماهو الفرق بين استخدام eval

  1. #1

    Smile سؤالي ماهو الفرق بين استخدام eval



    السلام عليكم

    بالله عليكم عندي استفسار .... في نسخة المنتديات vb2.3.0 ليش مرة ألقى على سبيل المثال :

    eval("dooutput(\"".gettemplate("bbcode")."\");");

    eval("dooutput(\"".gettemplate('maillist_welcome')."\");");

    وأحيانا بهذا الشكل

    eval("\$welcome = \"".gettemplate('home_unregwelcome')."\";");

    سؤالي ماهو الفرق بين استخدام eval ... هي النتيجة ستكون مختلفة يعني

    وشكراً:shy:







  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    اخوي على حد علمي الدالة eval تقوم بالجمع بين مخرجات كود html مع متغيرات php مثلا وتخرج نتيجة عبارة عن كود html يحوي متغيرات php وتفضل شوف الشرح الوافي لهذه الدالة مع مثال حي بفهمك ان شاء الله ..

    PHP: eval - Manual


    والى الامام حبيبي .





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

  3. #3
    عضو شرف
    تاريخ التسجيل
    Mar 2003
    المشاركات
    1,899


    وعليكم السلام

    امر eval يقوم بتحويل ماكتب بدالخه او ارسل له الى كود تنفيذي

    راح اعطيك مثال بسيط

    هذا كود مكتوب بلغة php بشكل عادي

    كود PHP:
    <?php
    function mohdesign(){
    echo 
    "hello evil";

    mohdesign();
    ?>
    بسيط جدا عباره عن داله اسمها mohdesign وموجود داخله اطبع hello evil وبعد الداله نستدعيها

    تعال نخلي eval هي اللي تنفذ الامر هذا بدون مانكتب الداله

    كود PHP:
    <?php
    eval("function mohdesign(){echo \"hello evil\";} mohdesign();");
    ?>
    نفس الامر ولكن eval هي اللي راح تكتبه بالاسكريبت

    طبعا يطلقون مثل عليها هذه الداله وهو معروف
    "eval is evil" اي امر eval هو شر

    الامر هذا خطير جدا جدا لو اخطأ المبرمج في وضعه

    مثلا لدينا هذا الامر

    كود PHP:
    <?php
    eval("$msg");
    ?>
    وال $msg مرسوله عن طريق ال header اما post او get

    ممكن ننفذ عملية اختراق هنا بامر بسيط جدا كهذا "كمثال لا اريد التوضيح اكثر"

    كود:
    http://www.site.com/file.php?msg="include(file2.php);"

    اذا عند تنفيذ الامر يصبح
    كود:
    //eval("$msg");
    eval("include(file2.php);");
    الامر له فوائد كثيره وخصوصا الاختصار في كتابة الاكواد والتنفيذ السريع
    وكما قلت لازم المبرمج يهتم اكثر اذا اراد ان يستعمله


    ارجو انها واضحه الان





    __________________
    محلل لنظم المعلومات - ارسل لي رساله خاصه عبر المنتدى | join me on facebook / twitter
    php | flash&flex&air actionscript 2,3 | ajax&javascript | database pro Analyzer

  4. #4


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

    يعني في توضيح أكثر أو أسلوب معين أمشي عليه حتى لايكون فيه هنالك ثغرات

    وشكرا جزيلا لك






  5. #5


    طيب أيهما أفضل وأأمن كإستخدام حيث أني أعمل على نظام قوالب مخزنة في قاعدة البيانات mysql

    هل eval أم stripslashes

    وشكرا لك عزيزي على تعقيبك على موضوعي






  6. #6


    للرفع .......










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

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

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض