Юмор: защита сайта от взлома
Встретилось в контексте защиты сайта. 2 предложенных варианта фильтрации входящих данных, один другого хлеще
1 2 3 4 5 6 7 8 9 10 11 12 13 | foreach($_GET as $key => $val) { $$key = stripslashes(strip_tags(htmlspecialchars($val, ENT_QUOTES))); } foreach($_POST as $key => $val) { if (gettype ($val)!='array') { $$key = stripslashes(strip_tags(htmlspecialchars($val, ENT_QUOTES))); } else { foreach($val as $k => $v) { $$val[$k] = stripslashes(strip_tags(htmlspecialchars($v, ENT_QUOTES))); } $$key=$val; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | $post_arr=implode('.',$_POST); $get_arr=implode('.',$_GET); $cook_arr=implode('.',$_COOKIE); $post_arr_key=implode('.',@array_flip($_POST)); $get_arr_key=implode('.',@array_flip($_GET)); $cook_arr_key=implode('.',@array_flip($_COOKIE)); $other_shtuki=@file_get_contents('php://input'); $cracktrack = strtolower($post_arr.$get_arr.$cook_arr.$post_arr_key.$get_arr_key.$cook_arr_key.$other_shtuki); $wormprotector = array('union','select','substring','/**/'); //тут дополни по своему вкусу кейворды SQL- и PHP-инжекторов $checkworm = str_replace($wormprotector, '*', $cracktrack); if ($cracktrack != $checkworm) die(""); ?> |
С бескрайних просторов searchengines