я следующий метод в моем PHP классе CRUD:надежного ввода из URL и сделать свой вклад взломом сейф
//secure search method
function secureInput($ary = array()){
$this->connect();
$securedArray = array();
//print_r($ary);
foreach($ary as $val){
//echo($val.'<br />');
$val = str_replace("'","",$val);
$val = str_replace("#","",$val);
$val = str_replace("~","",$val);
$val = str_replace("!","",$val);
$val = str_replace("%","",$val);
$val = str_replace("*","",$val);
$val = str_replace("drop","",strtolower($val));
$val = str_replace("show","",strtolower($val));
$val = str_replace("insert","",strtolower($val));
$val = str_replace("create","",strtolower($val));
$val = str_replace("update","",strtolower($val));
$val = str_replace("select","",strtolower($val));
$val = str_replace('"',"",$val);
$val = str_replace("+","",$val);
$val = str_replace(";","",$val);
$val = mysql_real_escape_string($val);
$securedArray[] = $val;
}
return $securedArray;
}
Я хочу использовать следующий код, чтобы принимать входной сигнал и вернуть чистый вход (хакерство XSS доказательств вход), а затем использовать его для моих запросов к базе данных, таких как обновление вставки и извлечения и т.д.
require_once('classes/classes.php');
$crud = new CRUD();
$ar = array("Shah Hussai#n","shahhus';sai;'n3#[email protected]","",234);
$name = "";$email = "";$empty ="";$int = "";
$ary = $crud->secureInput($ar);
if(!isset($ary[0]) || empty($ary[0])){
echo("Please provide your name<br />");
}
else{
//update variables here
$name = $ary[0];
$email = $ary[1];
$empty = $ary[2];
$int = $ary[3];
}//if
echo $sql = "INSERT INTO tbl(name,email...) values($name,$email,$empty,$int)";
Теперь я не уверен, как это будет защитить свой код от хакеров Cross сценариев и попыток SQL-инъекции? или я должен сделать что-то еще для безопасного ввода?
Заранее спасибо