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

الموضوع: [درس] اسهل طريقة لانشاء المعادلة الحسابية في التحقق من السبام!!

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

    [درس] اسهل طريقة لانشاء المعادلة الحسابية في التحقق من السبام!!



    السلام عليكم ورحمة الله وبركاته
    رمضان كريم
    هذة اسهل طريقة تعتبر وهي للانشاء معادلة حسابية بسيطة مثلا في نظام تعليقات!!
    لو تلاحظ الكود تجد اخترنا دالة rand() مابين 1-9 وذلك لكي تطون العملية الحسابية غير معقدة وسهلة اليكم الكود يمكن ان تغنيكم عن الـ Captcha
    كود PHP:
    <?
    if (isset($_POST['submit']) ) {
    if(
    $_SESSION['dillma'] == $_POST['dillma']){
        print 
    'الكود صحيح';
    }else{
        die(
    'الكود خاطئ');
    }
    }else{
                
    $dillma1 rand(1,9);
                
    $dillma2 rand(1,9);
                
    $dillma_output $dillma1 $dillma2;
                
    $output $dillma1.' + '.$dillma2;
                
    $_SESSION['dillma'] = $dillma_output;

    ?>
    <form name="form" action="#">
    <?=$output;?> : <input type="text" name="dillma" value="" />
    <input type="submit" name="submit" value="" />
    </form>
    <?
    }
    ?>
    سلام





    __________________
    Bruce - مدونة شديدة التخصص في PHP وتطبيقات الويب


  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    3,929


    درس جيد جدا
    كنت أبحث عنه

    جزاك الله خيرا





    __________________
    تحاور مع العاقل بعقل .. اما ان يقتنع او تقتنع
    وتحاور مع الجاهل بعقل .. اما يطقعش او تفرقش
    وتلك الفاظ لا معنى لها كذلك كلماته

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


    ممتاز اخوي درس مباشر وجميل وغير معقد ...

    الى الامام





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

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

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

  4. #4
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    شكراً Bruce ..

    كنت قد صنعت نظاماً مشابهاً منذ فترة .. سأضع الكود للإفادة ( الكود ناقص، أحببت أن أشارك بالفكرة فقط ) :
    كود PHP:
            /* Random Quess - SPAM CHALLENGE !! */
            // 0: +, 1: -, 2: max, 3: min
            
    $quesstype rand(0,3);
            
            
    $firstnum rand(0,10);
            
    $secnum rand(0, ($quesstype 10 10 $firstnum));
            
            
    $nums = array();
            
    $nums[] = array('num' => $firstnum'letters' => num2letters($firstnum));
            
    $nums[] = array('num' => $secnum'letters' => num2letters($secnum));
            
            if (
    $quesstype != 1shuffle($nums);
            
    $spam = array('type' => $quesstype'nums' => $nums);
            
    $smarty->assign('spam'$spam);

            
    $result = ($quesstype == $firstnum $secnum : ($quesstype == $firstnum $secnum : ($quesstype == max($firstnum$secnum) : min($firstnum$secnum))));
            
    $query mysql_query('insert into `nospam` (`time`, `num`) values ('$time .', '$result .')'); 
    حيث أن دالة num2letters هي لتحويل الأرقام إلى الكتابة:
    كود PHP:
        function num2letters($num) {
            switch(
    $num) {
                case 
    0: return 'صفر';
                case 
    1: return 'واحد';
                case 
    2: return 'اثنان';
                case 
    3: return 'ثلاثة';
                case 
    4: return 'أربعة';
                case 
    5: return 'خمسة';
                case 
    6: return 'ستة';
                case 
    7: return 'سبعة';
                case 
    8: return 'ثمانية';
                case 
    9: return 'تسعة';
                case 
    10: return 'عشرة';
            }
        } 
    طبعاً سيتم إدخال النتيجة مع كود عشوائي أو الوقت الحالي إلى جدول nospam كما في الكود، ويتم وضع الكود العشوائي في input من نوع hidden في الصفحة، وفي صفحة التحقق يتم أخذ الكود العشوائي من الـ input وجلب الـ result المتعلقة به من الجدول في قاعدة البيانات ومقارنة الإجابة المكتوبة بالـ result المجلوبة من القاعدة ..

    هذه هي الفكرة ببساطة، وأحببت أن أشارك بها لأنها تتضمن الجمع والطرح والقيمة الكبرى والقيمة الصغرى ،

    شكراً لطرحك مرة أخرى ،

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    597

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


    شكرا لكم جميعا علي المداخلات...





    __________________
    Bruce - مدونة شديدة التخصص في PHP وتطبيقات الويب

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    613


    طريقة أخرى ..
    كود PHP:
    session_start();
    if (isset(
    $_POST['result'])) {
        if (
    md5($_POST['result']) == $_SESSION['key']) {
            echo 
    'true..';
        } else {
            echo 
    'false..';
        }
    } else {
    $first_number rand(05);
    $second_number rand(05);
    $methods = array('+''-''*');
    $method $methods[array_rand($methods)];
    if (
    $method == '+') {
        
    $result $first_number $second_number;
    } elseif (
    $method == '-') {
        
    $result $first_number $second_number;
    } elseif (
    $method == '*') {
        
    $result $first_number $second_number;
    }
    $_SESSION['key'] = md5($result);
    echo 
    '<form method="post" action="">'.$first_number.' '.$method.' '.$second_number.' = <input type="text" name="result" size="2" /> <input type="submit" /></form>';








  8. #8
    Banned
    تاريخ التسجيل
    Dec 2008
    المشاركات
    60


    السلام عليكم ورحمة الله وبركاته
    رمضان كريم
    هذة اسهل طريقة تعتبر وهي للانشاء معادلة حسابية بسيطة مثلا في نظام تعليقات!!
    لو تلاحظ الكود تجد اخترنا دالة rand() مابين 1-9 وذلك لكي تطون العملية الحسابية غير معقدة وسهلة اليكم الكود يمكن ان تغنيكم عن الـ Captcha
    كود PHP:
    <?
    if (isset($_POST['submit']) ) {
    if(
    $_SESSION['dillma'] == $_POST['dillma']){
        print 
    'الكود صحيح';
    }else{
        die(
    'الكود خاطئ');
    }
    }else{
                
    $dillma1 rand(1,9);
                
    $dillma2 rand(1,9);
                
    $dillma_output $dillma1 $dillma2;
                
    $output $dillma1.' + '.$dillma2;
                
    $_SESSION['dillma'] = $dillma_output;
     
    ?>
    <form name="form" action="#">
    <?=$output;?> : <input type="text" name="dillma" value="" />
    <input type="submit" name="submit" value="" />
    </form>
    <?
    }
    ?>
    سلام

    للضرورة اريد اظهار الأرقام في المعادلة الحسابية في الإنجليزية

    مثال

    exmp : 2 + 9

    لا اريد ان تظهر مسألة حسابية عربية










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

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

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