PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : توابع Sql Injection



L0cal
April 21st, 2014, 10:28
سلام دوستان.
متاسفانه خیلی از برنامه نویس های ما حتی یه چک کردن ورودی ساده براشون مشکل هست و همین باعث میشه سایت هاشون براحتی هک بشه.
من چند تا تابع برای sql میزارم حالا نسبتا قوی کار شده.
امیدوارم به کارش بگیرین.

<?
class jms_security
{
function security($str)
{
$fail = 0;
@stripos($str, "'") !== false ? $fail = 1 : @stripos($str, '"') !== false ? $fail = 1 : @stripos($str, '%3E') !== false ? $fail = 1 : @stripos($str, '%3C') !== false ? $fail = 1 : "";
return $fail;
}

function clear()
{
global $post_text,$get_text,$cook_text,$num_post,$num_get ,$num_cook;
unset($post_text,$get_text,$cook_text,$num_post,$n um_get,$num_cook);
}
}

$post_text = "";
$get_text = "";
$cook_text = "";

foreach($_POST as $i => $value){$post_text.=stripslashes($_POST[$i])." ";}
foreach($_GET as $i => $value){$get_text.=stripslashes($_GET[$i])." ";}
foreach($_COOKIE as $i => $value){$cook_text.=stripslashes($_COOKIE[$i])." ";}

$security = new jms_security;
$num_post = $security->security($post_text);
$num_get = $security->security($get_text);
$num_cook = $security->security($cook_text);
$result = ($num_post+$num_get+$num_cook);
$security->clear();

if ($result != 0) die(':)');
?>



و به کارگیریشم خیلی راحت هست دیگه.

L0cal
April 21st, 2014, 10:33
دوستان بعضی ها کد بالا رو نفهمیدن.خوب کد بالا نسبتا قوی هست ولی با یه فانکشن خیلی خیلی کوچلو هم میشه این کارو انجام داد.




function madSafety($string) {
$string = stripslashes($string);
$string = strip_tags($string);
$string = mysql_real_escape_string($string);
return $string;
}


به کار گیریشم براتون میزارم.






$id=madSafety($_POST['ai]);