<?PHP
error_reporting(0); // вывод ошибок
if($_GET['menu']!='admin' && 'support'){
function limpiarez($mensaje){
$mensaje = htmlspecialchars(trim($mensaje));
$mensaje = str_replace("'","?",$mensaje);
$mensaje = str_replace(";","¦",$mensaje);
$mensaje = str_replace("$"," USD ",$mensaje);
$mensaje = str_replace("<","?",$mensaje);
$mensaje = str_replace(">","?",$mensaje);
$mensaje = str_replace('"',"”",$mensaje);
$mensaje = str_replace("%27"," ",$mensaje);
$mensaje = str_replace("0x29"," ",$mensaje);
$mensaje = str_replace("& amp ","&",$mensaje);
return $mensaje;
}
foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=limpiarez($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=limpiarez($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=limpiarez($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=limpiarez($_GET[$i]);}
foreach($_COOKIE as $i => $value){$_COOKIE[$i]=limpiarez($_COOKIE[$i]);}
foreach($HTTP_POST_VARS as $i => $value){$HTTP_POST_VARS[$i]=stripslashes($HTTP_POST_VARS[$i]);}
foreach($HTTP_GET_VARS as $i => $value){$HTTP_GET_VARS[$i]=stripslashes($HTTP_GET_VARS[$i]);}
foreach($_POST as $i => $value){$_POST[$i]=stripslashes($_POST[$i]);}
foreach($_GET as $i => $value){$_GET[$i]=stripslashes($_GET[$i]);}
foreach($_COOKIE as $i => $value){$_COOKIE[$i]=stripslashes($_COOKIE[$i]);}
################## Фильтрация всех POST и GET #######################################
function filter_sf(&$sf_array)
{
while (list ($X,$D) = each ($sf_array)):
$sf_array[$X] = limpiarez(mysql_escape_string(strip_tags(htmlspecialchars($D))));
endwhile;
}
filter_sf($_GET);
filter_sf($_POST);
#####################################################################################
function anti_sql()
{
$check = html_entity_decode( urldecode( $_SERVER['REQUEST_URI'] ) );
$check = str_replace( "", "/", $check );
$check = mysql_real_escape_string($str);
$check = trim($str);
$check = array("AND","UNION","SELECT","WHERE","INSERT","UPDATE","DELETE","OUTFILE","FROM","OR","SHUTDOWN","CHANGE","MODIFY","RENAME","RELOAD","ALTER","GRANT","DROP","CONCAT","cmd","exec");
$check = str_replace($check,"",$str);
if( $check )
{
if((strpos($check, '<')!==false) || (strpos($check, '>')!==false) || (strpos($check, '"')!==false) || (strpos($check,"'")!==false) || (strpos($check, '*')!==false) || (strpos($check, '(')!==false) || (strpos($check, ')')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) || (strpos($check, ' ')!==false) )
{
$prover = true;
}
if((strpos($check, 'src')!==false) || (strpos($check, 'img')!==false) || (strpos($check, 'OR')!==false) || (strpos($check, 'Image')!==false) || (strpos($check, 'script')!==false) || (strpos($check, 'jаvascript')!==false) || (strpos($check, 'language')!==false) || (strpos($check, 'document')!==false) || (strpos($check, 'cookie')!==false) || (strpos($check, 'gif')!==false) || (strpos($check, 'png')!==false) || (strpos($check, 'jpg')!==false) || (strpos($check, 'js')!==false) )
{
$prover = true;
}
}
if (isset($prover))
{
die( "Попытка атаки на сайт или введены запрещённые символы!" );
return false;
exit;
}
}
anti_sql();
}
Даже если рабочий, то большая нагрузка от него. Малого того что в ферме база не оптимизирована, запросы, так еще и это )Возможно правильный, но по моему опыту, не рабочий
нужно фильтровать данные, полученные "извне" (например из формы, адресной строки)И каким образом?
спасибонужно фильтровать данные, полученные "извне" (например из формы, адресной строки)
Не только фильтровать, но и проводить валидацию...спасибо
Да, но эти ска фильтры не все фильтруют. Например кавычки пропускают. Приходится их или "вырезать" или "регуляркой" ловить.Не только фильтровать, но и проводить валидацию...
Фильтры валидации данных PHP
Очищающие фильтры PHP
Где кавычки?Да, но эти ска фильтры не все фильтруют. Например кавычки пропускают. Приходится их или "вырезать" или "регуляркой" ловить.
Но в целом хотя бы их использовать. Не только POST с форм, но и GET еще нужно.
Отож! ) Флаги не всегда спасают.то тут ни один фильтр не поможет - они универсальные
$mensaje = htmlspecialchars(trim($mensaje));
почитай эту тему - тут много интересного написано...Привет всем есть вопрос по фильтрации в частности с этой функцией
если ее ставить в код индекса все работает кроме добавления новости русские символы не пропускает. А убираю все в норме. Опасно убирать эту функцию с кода?PHP:$mensaje = htmlspecialchars(trim($mensaje));
Может есть решение этой проблемы?
Извиняюсь если вопрос не по теме.
Если тебе нужна помощь, можешь смело писать pligin