السلام عليكم ورحمة الله وبركاته هذه الدالة سهلة وبسيطة وتم اختبارها وهي فعالة جدا تستخدم للحماية من أخطار XSS و SQL INJECTION وهي مقسمة الى...

الحالة
مغلق و غير مفتوح للمزيد من الردود.
الحمايه من تغرات sql و xss
السلام عليكم ورحمة الله وبركاته

هذه الدالة سهلة وبسيطة وتم اختبارها وهي فعالة جدا

تستخدم للحماية من أخطار XSS و SQL INJECTION

وهي مقسمة الى دالتين حيث يتم استدعاء الدالة الثانية من داخل الدالة الأولى


كل ما عليك هو استخدام الدالة الأولى فقط


اكواد الدوال


PHP:
/*----------------------------------------------------------*/
  /* 1 - function safe($str,$type='all')                      */
  /*----------------------------------------------------------*/
  
  /**
   * XSS و SQL INJECTION تأمين النص من اخطار  
   * تأخذ هذه الدالة بارميترين
   *
   * 1 - $value : وهو النص المراد فحصه
   * 2 - $type  : وهو اختياري ويحدد نوع التأمين المطلوب على النص
   */
   
  function safe($str,$type='all')
  {
      // اذا كان المطلوب تأمين شامل للنص
      if ($type == 'all') {
          // SQL INJECTION تأمين النص من اخطار
          mysql_prep($str);
          // XSS تأمين النص من اخطار
          return htmlspecialchars($str);
      
      // SQL INJECTION اذا كات المطلوب تأمين النص من اخطار
      } elseif ($type == 'slash') {
          mysql_prep($str);
          return $str;
      }
  }
  
  /*----------------------------------------------------------*/
  /* 2 - function mysql_prep($value)                          */
  /*----------------------------------------------------------*/
  
  /**
   * SQL INJECTION  تأمين النص من اخطار  
   * تأخذ هذه الدالة بارميتر واحد
   * $value وهو النص المراد فحصه
   */
   
  function mysql_prep($value) 
  {
      /**
       * magic quotes التأكد من حالة 
       * هل هي مفعلة أو لا وتخزين الناتج في متغير 
       */
      $magic_quotes_active = get_magic_quotes_gpc();
  
      /**
       * php التأكد من اصدار 
       * في حالة كان الاصدار اعلى من 4.3
       * اذن يمكن استخدام 
       * mysql_real_escape_string
       */
       
      // i.e. PHP >= v4.3.0
      $new_enough_php = function_exists( "mysql_real_escape_string" ); 
  
      /**
       * التأكد من ما اذا كان اصدار 
       * php = v4.3
       * أو اعلى عن طريق استخدام النتغير
       * $new_enough_php
       */
       
      // PHP v4.3.0 or higher
      if ($new_enough_php) { 
  
          /**
           * التراجع عن تأثير
           * magic quotes
           * حتى تقوم الدالة
           * mysql_real_escape_string
           * بعملها
           */
           
          // undo any magic quote effects so mysql_real_escape_string can do the work
          if ($magic_quotes_active) { 
              $value = stripslashes($value); 
          }
          $value = mysql_real_escape_string($value);
      } 
      // v4.3.0 اذا كان اصدار بي اتش بي اقدم من 
      // before PHP v4.3.0
      else { 
          // لاضافة علامات الاقتباس addslashes غير مفعلة يتم استخدام magic quotes اذا كانت 
          // if magic quotes aren't already on then add slashes manually
          if (!$magic_quotes_active) { 
              $value = addslashes($value); 
          }
          // مفعلة اذا سيتم اضافة علامات الاقتباس تلقائيا magic quotes اذا كانت  
          // if magic quotes are active, then the slashes already exist
      }
      return $value;
  }

طريقة استخدام الدالة

PHP:
// مثال على استخدام الدالة
  $str = '<p>Protect your site from nor15din</p>';
  
  // قبل الحماية
  echo $str;
  
  // بعد الحماية
  echo safe($str);

:icon31:
 

hank00sh

New Member
الحمايه من تغرات sql و xss
رد: الحمايه من تغرات sql و xss

مشكور اخي

الله يجعلها في ميزان حسناتك

طبعاً هذا الشي تمام يعني للمبتدي في المواقع


تحياتي لك
 

x-LanS-HaCker

New Member
الحمايه من تغرات sql و xss
رد: الحمايه من تغرات sql و xss

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

M.tµcX

New Member
الحمايه من تغرات sql و xss
رد: الحمايه من تغرات sql و xss

يعطيكك الف عافية يالغال
 

mimo-dz

Moderator
الحمايه من تغرات sql و xss
رد: الحمايه من تغرات sql و xss

شكرا لك يا اخ بوركت
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.
أعلى