مالي خبرة كبيرة في النواحي الأمنية .. بس أستخدم الدوال المستخدمة في منتدى الآي بي
هالدالة لمعالجة القيم المرسلة عن طريق ال GET
كود PHP:
/*-------------------------------------------------------------------------*/
// Clean value
/*-------------------------------------------------------------------------*/
function clean_value($val)
{
if ($val == "")
{
return "";
}
$val = str_replace( " ", " ", $val );
$val = str_replace( chr(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( ">" , ">" , $val );
$val = str_replace( "<" , "<" , $val );
$val = str_replace( "\"" , """ , $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("/&#([0-9]+);/s", "&#\\1;", $val );
// Strip slashes if not already done so.
$val = stripslashes($val);
// Swop user inputted backslashes
$val = preg_replace( "/\\\(?!&#|\?#)/", "\", $val );
return $val;
}
أنا أثق في هالدوال وأعتمد عليها
ومثل ماذكرت هي المستخدمه في منتدى ال Invision Power
هل من الممكن أن يكون ذلك كافيا لسد ثغرة تمرير قيم أو روابط أو استعلامات غير مأمونة عن طريق الرابط إذا كانت القيمة رقمية ؟؟
من ناحية القيم الرقمية أنا أستخدم الدالة intval لو كان المتغير رقم بتعطيك true لو كانةغير رقمى بتعطيك false هذي الطريقة اللى أتبعها للتحق من سلامتة المتغيرات الرقمية والله يستر لا يكون بالإمكان التحايل على هالطريقة
:con2: ياليت نشوف آراء الخبراء