Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou precisando de uma ajuda com ANTI INJECT,
utilizo banco de dados MSSQL, faço conexão com 6 DBs - 5 MSSQL e 1 MYSQL, no mesmo projeto,
Tenho um sistema de proteção para ANTI INJECT mas queria saber a sugestão de você se é seguro
e se posso melhorar de alguma forma.
Seria proteção contra INJECT e Execução de algum codigo indevido.
veja o meu código
<?php
function xw_sanitycheck($str){
if(strpos(str_replace("''",""," $str"),"'")!=false)
return str_replace("'", "''", $str);
else
return $str;
}
function secure($str){
// Case of an array
if (is_array($str)) {
foreach($str AS $id => $value) {
$str[$id] = secure($value);
}
}
else
$str = xw_sanitycheck($str);
return $str;
}
// Get Filter
$xweb_AI = array_keys($_GET);
$i=0; $_GET[$xweb_AI[$i]]=secure($_GET[$xweb_AI[$i]]);
$i++;
}
unset($xweb_AI);
// Request Filter
$xweb_AI = array_keys($_REQUEST);
$i=0; $_REQUEST[$xweb_AI[$i]]=secure($_REQUEST[$xweb_AI[$i]]);
$i++;
}
unset($xweb_AI);
// Post Filter
$xweb_AI = array_keys($_POST);
$i=0; $_POST[$xweb_AI[$i]]=secure($_POST[$xweb_AI[$i]]);
$i++;
}
// Cookie Filter (do we have a login system?)
$xweb_AI = array_keys($_COOKIE);
$i=0; $_COOKIE[$xweb_AI[$i]]=secure($_COOKIE[$xweb_AI[$i]]);
$i++;
}
?>
Um amigo me falou para adicionar isso na function xw_sanitycheck
$string_b = addcslashes($string_i, "\x00\n\r\'\x1a\x3c\x3e\x25");
Mas no caso o MSSQL não interpreta o \ como escape.
Alguem pode me ajudar a aprimorar essa segurança.
Desde já obrigado!
Carregando comentários...