تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو فعال
تاريخ التسجيل: Feb 2002-
#1 (permalink)  
مهم جدا يا شباب ,, أبغا كود لفحص المدخل عن طريق GET


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

ياشباب لنفرض أن لدي الرابط التالي لأحد أقسام برنامجي
www.mysite.com?cat=4

أبي كود يفحص لي رقم القسم اللي هو 4 ويتأكد بأنه رقم ولايحمل قيمة أخرى .. أنتم فاهميني أكيد .. ما أبي يصير هجوم أو تمرير قيم تتسبب في ثغرة أمنية على البرنامج






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 24-06-2005, 03:45 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2003-
#2 (permalink)  

السلام عليكم

جرب التالي , اذا ما كنت مخطئ ان شاء الله يشتغل

كود PHP:
$cat $_GET['cat'];

    if( 
ereg"^[0-9]+$" $cat ) )
    {
        echo 
" number ";
    }
    else
    {
        echo 
" not number ";
    } 
اذا اخطأت ان شاء الله الشباب يساعدون

تحياتي لك






__________________
محمد الرحيلي
http://www.alrehaili.net
http://www.arccn.net
http://www.mafgod.com
mohammad@arccn.net
محمد الرحيلي غير متواجد حالياً   قديم 24-06-2005, 05:10 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2002-
#3 (permalink)  

أحسنت يامحمد ..
وللجميع .. هل من الممكن أن يكون ذلك كافيا لسد ثغرة تمرير قيم أو روابط أو استعلامات غير مأمونة عن طريق الرابط إذا كانت القيمة رقمية ؟؟

ماهي طريقتكم للتشييك على الروابط والتأكد من أن القيمة المدخلة لاتشكل خطرا على البرنامج .. خاصة إذا كانت قيمة المتغير في الرابط على شكل string حرفي






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 24-06-2005, 06:03 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2004-
#4 (permalink)  

مالي خبرة كبيرة في النواحي الأمنية .. بس أستخدم الدوال المستخدمة في منتدى الآي بي


هالدالة لمعالجة القيم المرسلة عن طريق ال GET

كود PHP:

    
/*-------------------------------------------------------------------------*/
    // Clean value
    /*-------------------------------------------------------------------------*/

    
function clean_value($val)
    {
 
            if (
$val == "")
            {
                    return 
"";
            }

            
$val str_replace" "" "$val );

            
$val str_replacechr(0xCA), ""$val );  //Remove sneaky spaces
 
            
$val str_replace"&"            "&"         $val );
            
$val str_replace"<!--"         "<!--"  $val );
            
$val str_replace"-->"          "-->"       $val );
            
$val preg_replace"/<script/i"  "<script"   $val );
            
$val str_replace">"            "&gt;"          $val );
            
$val str_replace"<"            "&lt;"          $val );
            
$val str_replace"\""           "&quot;"        $val );
            
$val preg_replace"/\n/"        "<br />"        $val ); // Convert literal newlines
            
$val preg_replace"/\\\$/"      "$"        $val );
            
$val preg_replace"/\r/"        ""              $val ); // Remove literal carriage returns
            
$val str_replace"!"            "!"         $val );
            
$val str_replace"'"            "'"         $val ); // IMPORTANT: It helps to increase sql query safety.

            // Ensure unicode chars are OK

              
$val preg_replace("/&amp;#([0-9]+);/s""&#\\1;"$val );
 
              
// Strip slashes if not already done so.

              
$val stripslashes($val);

             
// Swop user inputted backslashes

            
$val preg_replace"/\\\(?!&amp;#|\?#)/""\"$val );

            return 
$val;
    } 

أنا أثق في هالدوال وأعتمد عليها

ومثل ماذكرت هي المستخدمه في منتدى ال Invision Power


اقتباس:
هل من الممكن أن يكون ذلك كافيا لسد ثغرة تمرير قيم أو روابط أو استعلامات غير مأمونة عن طريق الرابط إذا كانت القيمة رقمية ؟؟
من ناحية القيم الرقمية أنا أستخدم الدالة intval لو كان المتغير رقم بتعطيك true لو كانةغير رقمى بتعطيك false هذي الطريقة اللى أتبعها للتحق من سلامتة المتغيرات الرقمية والله يستر لا يكون بالإمكان التحايل على هالطريقة

ياليت نشوف آراء الخبراء






__________________
وما أكثر الأصحاب حين تعدهم

ولكنهم عند النائبات قليل
شــــــامل غير متواجد حالياً   قديم 24-06-2005, 07:21 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2002-
#5 (permalink)  

ياسلام عليك أخي شامل أشكرك على الإضافة هذي

الدالة أتوقع تقوم بفحص المشاركة أو بيانات يتم إدخالها من قبل الزائر

هل فيه دالة جاهزة للتشييك على قيم المتغيرات المررة عن طريق الرابط






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 24-06-2005, 09:03 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2004-
#6 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة Dr.Server
ياسلام عليك أخي شامل أشكرك على الإضافة هذي

الدالة أتوقع تقوم بفحص المشاركة أو بيانات يتم إدخالها من قبل الزائر

هل فيه دالة جاهزة للتشييك على قيم المتغيرات المررة عن طريق الرابط
في منتدى الآي بي هالدالة تستخدم لجميع البيانات سواء من خلال ال GET أو ال POST والأمور اللى ممكن تمرر عن طريق ال POST اعتقد ممكن يمررها المخترق من خلال ال url

طبعا الدالة هذي لل Value فقط ... هناك دالة أخرى لل KEY

ما أدري صراحة ليش يشيكون على ال KEY بس أكيد هناك ثغرة أخرى يبون يتلافونها

أنا أستخدمها للبايانات القادمة سواء من ال GET او ال POST

نبي ردود الخبراء خلنا نستفيد






__________________
وما أكثر الأصحاب حين تعدهم

ولكنهم عند النائبات قليل
شــــــامل غير متواجد حالياً   قديم 24-06-2005, 10:31 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2002-
#7 (permalink)  

اذا كان المطلوب فقط معرفة ما إذا كان المطلوب "رقم" أو من نوع (integer) فاستخدم اما:
كود PHP:
<?php
$_GET
['cat'] = (int) $_GET['cat'];
?>
أو دالة is_int()
كود PHP:
<?php
if(is_int($_GET['cat'])
{
 echo 
'Integer';
}
else
{
 echo 
'Not Integer';
}
?>
في الحالة الأولى سوف يتم تحويل قيمة المتفير $_GET['cat'] إلى متغير عددي (integer)
وفي الحالة الثانية استخدمت الدالة is_int() للتحقق من أن المتغير هو متغير عددي

للمزيد من المعلومات حول دالة is_int() : http://www.php.net/is_int

وللمزيد من المعلومات حول الحماية راجع http://www.php.net/manual/en/security.php







__________________
ArabBB ... SoooooN!
Al Mobarmeg المبرمج غير متواجد حالياً   قديم 24-06-2005, 12:48 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2003-
#8 (permalink)  

السلام عليكم

بالنسبه لطريقة ال CASTING

الي هي كالتالي

كود PHP:

<?php
$_GET
['cat'] = (int) $_GET['cat'];
?>
لا تستخدمها لو اردت عمل اشياء اخرى بالمتغير بعد التحقق من الرقم ,, لان هذه الطريقه لحظيه , تقوم بالتغير في لحظه ويرجع المتغير كما كان

لاحظ التالي

كود PHP:

<?

    $cat 
"mohammad";

    echo (int) 
$cat;

    echo 
"<br>".$cat;

?>


ولكن الداله التاليه تقوم بالتغير كاملا , اي سوف يكون المتغير بعد ذلك من النوع integer
لاحظ التالي:

كود PHP:

<?

    $cat 
"mohammad";

    
settype$cat integer );

    echo 
$cat;

?>
تحياتي لك






__________________
محمد الرحيلي
http://www.alrehaili.net
http://www.arccn.net
http://www.mafgod.com
mohammad@arccn.net
محمد الرحيلي غير متواجد حالياً   قديم 24-06-2005, 04:48 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2004-
#9 (permalink)  

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

بالنسبه لطريقة ال CASTING

الي هي كالتالي

كود PHP:

<?php
$_GET
['cat'] = (int) $_GET['cat'];
?>
لا تستخدمها لو اردت عمل اشياء اخرى بالمتغير بعد التحقق من الرقم ,, لان هذه الطريقه لحظيه , تقوم بالتغير في لحظه ويرجع المتغير كما كان

لاحظ التالي

كود PHP:

<?

    $cat 
"mohammad";

    echo (int) 
$cat;

    echo 
"<br>".$cat;

?>

الله يجزاك الجنة

معلومة خطيرة وقوية






__________________
وما أكثر الأصحاب حين تعدهم

ولكنهم عند النائبات قليل
شــــــامل غير متواجد حالياً   قديم 24-06-2005, 06:44 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#10 (permalink)  

معلومات مفيدة ماشاء الله

أنا أستخدم للأرقام التي ترسل بواسطة GET الطريقة المذكورة لكن مع تعديل صغير لتغيير طبيعتها (دمج طريقة الأخوين محمد والمبرمج):
كود PHP:
$page = (int) $_GET['page']; 
ثم أستخدم page على أساس أنه هو المتغير الرئيسي وليس GET الخاص به .. وهذا الأمر يعني أن المتغير page يجب أن يكون من نوع "رقم صحيح" وأن يحتوي القيمة الرقمية للمتغير GET ..

بالنسبة للمتغيرات النصية لا أحتاج لأكثر من:
كود PHP:
$page strip_tags($_GET['page']); 
حيث لا أدخل المتغير نفسه في أي عمليات .. فقط أستخدمه كمحدد لحالات التنفيذ .. وأعتقد أن هذا الأمر يعطي نفس نتيجة الكود الخاص بالمنتدى يا أخ شامل .. يمكن يتبقى له بعض الرموز مثل ' & وهكذا .. بس هذا يعتمد على طبيعة استخدامك لقيمة المتغير ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 24-06-2005, 09:22 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2004-
#11 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة إنترنت بلس
معلومات مفيدة ماشاء الله

أنا أستخدم للأرقام التي ترسل بواسطة GET الطريقة المذكورة لكن مع تعديل صغير لتغيير طبيعتها (دمج طريقة الأخوين محمد والمبرمج):
كود PHP:
$page = (int) $_GET['page']; 
ثم أستخدم page على أساس أنه هو المتغير الرئيسي وليس GET الخاص به .. وهذا الأمر يعني أن المتغير page يجب أن يكون من نوع "رقم صحيح" وأن يحتوي القيمة الرقمية للمتغير GET ..

بالنسبة للمتغيرات النصية لا أحتاج لأكثر من:
كود PHP:
$page strip_tags($_GET['page']); 
حيث لا أدخل المتغير نفسه في أي عمليات .. فقط أستخدمه كمحدد لحالات التنفيذ .. وأعتقد أن هذا الأمر يعطي نفس نتيجة الكود الخاص بالمنتدى يا أخ شامل .. يمكن يتبقى له بعض الرموز مثل ' & وهكذا .. بس هذا يعتمد على طبيعة استخدامك لقيمة المتغير ..
الله يجزاك خير على هالمعلومات القيمة ..

وياليت تفيدنا بخبرتك وتجيبني على إستفساري

لو المتغير القادم من ال GET راح أستخدمه لحالات التنفيذ Action معناته مافيه خوف إنشاء الله

ولكن لو كنت راح أستخدمه في إستعلام في الداتا بيس

هل تكفى الدالة strip_tags ؟؟

أيضا في حالة ال action أنا بصراحة ما أقوم بمعالجة المتغيرات القادمة إلا إذا كنت راح أستخدمها في الداتا بيس أما في ال action لا أقوم بمعالجة البيانات هل هناك خطر ما ؟؟

وزادك الله علما






__________________
وما أكثر الأصحاب حين تعدهم

ولكنهم عند النائبات قليل
شــــــامل غير متواجد حالياً   قديم 24-06-2005, 09:46 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#12 (permalink)  

جزاك الله خيرا وبارك لك ..

بصفة خاصة: استخدام strip_tags راح يخلص المدخلات من الأكواد البرمجية .. لكن تظل عندك الرموز وأخطرها ";" (لأنها الفاصل بين أمرين في الداتابيز) .. وأعتقد أن استخدام htmlspecialchars وaddslashes يخلصنا تماما من رعب حقن قواعد البيانات ..

بصفة عامة: أنا أتصور (يعني نظرة شخصية للموضوع) أن الأساس ليس في دوال معالجة المدخلات وفحص المتغيرات .. أتصور أن الأساس في طريقة التفكير البرمجي .. مثلا لا تستخدم متغير الجيت كما هو .. استخدم متغيرا آخر قيمته تعتمد على الجيت .. هذه نقطة .. النقطة الأهم هي تقليل مدخلات الجيت النصية إلى أقل مستوى وزيادة المتغيرات الرقمية .. لأنك في الرقمية يمكنك إجراء كل ما تريده على المتغير .. حتى فحص نطاق الرقم يعني مثلا أن يكون بين 1 و 20 مثلا .. فيمكنك التحكم تماما فيه ونسيان أي مشاكل ..
أما النصية فأتمنى أن تكون الدوال: strip_tags وhtmlspecialchars وaddslashes كافية ..

وننتظر مشاركات بقية إخواننا لأهمية الموضوع .. وأكيد كل منا له تجارب مفيدة






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 24-06-2005, 10:40 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#13 (permalink)  

بحثت شوية في الإنترنت ووجدت الموضوع ده:
http://www.webmasterworld.com/forum88/7677.htm
واللي فيه dmmh بيقول ان:
mysql_real_escape_string
هي الحل وأنه ممكن ما تحتاجش غيرها ..
عمال أقرا عنها في المانيوال ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 24-06-2005, 10:51 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2003-
#14 (permalink)  

http://www.swalif.net/softs/showthread.php?t=118431







__________________
AlwatanVoice, www.alwatanvoice.com
Almashroo, www.almashroo.com

Pal Coder == Palestinian Coder
Pal Coder غير متواجد حالياً   قديم 25-06-2005, 01:09 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2002-
#15 (permalink)  

Al Mobarmeg المبرمج
محمد الرحيلي
إنترنت بلس
Pal Coder

أشكركم عظيم الشكر على المشاركة في الموضوع .. وصلت الفائدة جزاكم الله خير وكثر من أمثالكم






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 25-06-2005, 02:02 AM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Feb 2002-
#16 (permalink)  

Al Mobarmeg المبرمج
محمد الرحيلي
إنترنت بلس
Pal Coder

أشكركم عظيم الشكر على المشاركة في الموضوع .. وصلت الفائدة جزاكم الله خير وكثر من أمثالكم






__________________
ومامن كاتب إلا سيفنى ****** ويبقي الدهر ماكتبت يداه
فلا تكتب بكفك غير شيء ****** يسرك يوم القيامة أن تراه
Dr.Server غير متواجد حالياً   قديم 25-06-2005, 02:12 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2002-
#17 (permalink)  

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

بالنسبه لطريقة ال CASTING

الي هي كالتالي

كود PHP:

<?php
$_GET
['cat'] = (int) $_GET['cat'];
?>
لا تستخدمها لو اردت عمل اشياء اخرى بالمتغير بعد التحقق من الرقم ,, لان هذه الطريقه لحظيه , تقوم بالتغير في لحظه ويرجع المتغير كما كان

لاحظ التالي

كود PHP:

<?

    $cat 
"mohammad";

    echo (int) 
$cat;

    echo 
"<br>".$cat;

?>


ولكن الداله التاليه تقوم بالتغير كاملا , اي سوف يكون المتغير بعد ذلك من النوع integer
لاحظ التالي:

كود PHP:

<?

    $cat 
"mohammad";

    
settype$cat integer );

    echo 
$cat;

?>
تحياتي لك

اذا قمت بعمل ما ذكرته أنا :
كود PHP:
<?php
$_GET
['cat'] = (int) $_GET['cat'];
?>
فسوف تتغير قيمة المتغير $_GET['cat'] إلى نوع integer ايضاً بعد سطر التغيير.. تستطيع التجربة للتأكد.

أما في مثالك فهو يختلف 180 درجة عن ما قمت انا بعمله.. فأنت قمت بعمل طباعة لقيمة المتغير بعد جعله (int) ولم تقم بتغيير قيمته.. فكان يجب عمل:
كود PHP:
<?php
$cat 
= (int) "mohammed";
echo 
$cat;
?>
حتى يصبح مثلما قمت بعمله

الـ php تعامل $_GET و $_POST و $_COOKIE و $_SERVER وغيرها على انها "متغيرات" تستطيع تغيير قيمها وليست ثوابت .. لذا ما قمت بعمله يعتبر أفضل من ناحية توفير الذاكرة وتوفير استخدام المتغيرات وسهولة الكود وقلة الأسطر وعمل نفس عمل الدالة settype ..







__________________
ArabBB ... SoooooN!
Al Mobarmeg المبرمج غير متواجد حالياً   قديم 25-06-2005, 02:24 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Jun 2003-
#18 (permalink)  

^^
^^

كان ردي اني اوضح ان فيه فرق بين الكاست

وانه لحظي

طريقتك صحيحه

لاحظ انا وش كتبت
-------------------
لا تستخدمها لو اردت عمل اشياء اخرى بالمتغير بعد التحقق من الرقم ,, لان هذه الطريقه لحظيه , تقوم بالتغير في لحظه ويرجع المتغير كما كان
--------------------

نفسك كلامك ,, انت كتبت اخوي
---------------------

اذا كان المطلوب فقط معرفة ما إذا كان المطلوب "رقم" أو من نوع (integer) فاستخدم
---------------------
اختلاف الطرق في البرمجه لا يفسد للود قضيه :P
تحياتي لك






__________________
محمد الرحيلي
http://www.alrehaili.net
http://www.arccn.net
http://www.mafgod.com
mohammad@arccn.net
محمد الرحيلي غير متواجد حالياً   قديم 25-06-2005, 09:28 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#19 (permalink)  

بالعكس .. اختلاف الطرق في البرمجة يقدم للمجتمع العربي هدية






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 25-06-2005, 11:27 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Jan 2002-
#20 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة إنترنت بلس
بالعكس .. اختلاف الطرق في البرمجة يقدم للمجتمع العربي هدية






__________________
ArabBB ... SoooooN!
Al Mobarmeg المبرمج غير متواجد حالياً   قديم 26-06-2005, 10:58 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2005-
#21 (permalink)  

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

$_GET= xxx($_GET);

فما هو الصحيح يا ترى ؟؟؟






__________________
أهلا و سهلا بكم في :-
موقع دار الأوائل
-----------------
تفضل معنا
خدمات الاستضافة مع تركيب و دعم خاص للبوابة العربية لكافة العملاء
موقع خدمات العرب
عبقري العرب غير متواجد حالياً   قديم 18-10-2006, 09:30 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2005-
#22 (permalink)  

للرفع مع الضروره

اخواني
كيف امرر دالة على مصفوفه مثل GET او POST
مثلا الدالة addslashes

كيف امررها ؟؟
لاني حاولت امررها مباشره مثل السطر التالي بس ما هو صحيح ابدا
كود:
$_GET = addslashes($_GET);






__________________
أهلا و سهلا بكم في :-
موقع دار الأوائل
-----------------
تفضل معنا
خدمات الاستضافة مع تركيب و دعم خاص للبوابة العربية لكافة العملاء
موقع خدمات العرب
عبقري العرب غير متواجد حالياً   قديم 20-10-2006, 11:03 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#23 (permalink)  

كود PHP:
$_GET clean_value($_GET); 






__________________
htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com غير متواجد حالياً   قديم 21-10-2006, 02:00 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Nov 2005-
#24 (permalink)  

عفوا اخوي jadweb.com
لا اعتقد ان بهذه الطريقة سنمرر الدالة على جميع العناصر (items)
و حتى جربها ما راح تظهر لك نفس النتيجه

حتى شوف هنا

في حالة استخدمنا الطريقه السابقة
www.xxx.com/00.php?a=ahmed
كود:
$_GET = addslashes($_GET); 
foreach($_GET as $xx)
{
echo $xx ;
}
النتيجه راح تصير
Warning: Invalid argument supplied for foreach()

و هذا يدل على ان المتغير $_GET لم يعد مصفوفة و هذا خطأ






__________________
أهلا و سهلا بكم في :-
موقع دار الأوائل
-----------------
تفضل معنا
خدمات الاستضافة مع تركيب و دعم خاص للبوابة العربية لكافة العملاء
موقع خدمات العرب
عبقري العرب غير متواجد حالياً   قديم 21-10-2006, 03:43 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Feb 2002-
#25 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة عبقري العرب
عفوا اخوي jadweb.com
لا اعتقد ان بهذه الطريقة سنمرر الدالة على جميع العناصر (items)
و حتى جربها ما راح تظهر لك نفس النتيجه

حتى شوف هنا

في حالة استخدمنا الطريقه السابقة
www.xxx.com/00.php?a=ahmed
كود:
$_GET = addslashes($_GET); 
foreach($_GET as $xx)
{
echo $xx ;
}
النتيجه راح تصير
Warning: Invalid argument supplied for foreach()

و هذا يدل على ان المتغير $_GET لم يعد مصفوفة و هذا خطأ

استخدم

كود PHP:
$_GETarray_map('addslashes'$_GET); 
لكن لو كانت magic_quotes_gpc مفعله في السيرفر php.ini ، سيتم إضافة السلاشز مرتين ولتفادي ذلك قم بإستخدام الشرط

كود PHP:
if (get_magic_quotes_gpc() == 0) {
$_GETarray_map('addslashes'$_GET);

وبالتالي الكود بعد التعديل :

كود PHP:
if (get_magic_quotes_gpc() == 0) {
$_GETarray_map('addslashes'$_GET);
}
foreach(
$_GET as $xx)
{
echo 
$xx ;

تحياتي






Ziad غير متواجد حالياً   قديم 21-10-2006, 06:09 AM
رد مع اقتباس