Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
where idAla = '5'
function _sql($str) {
return strtr($str, array(
"\\" => "\\\\"
, "'" => "\\'"
, "\"" => "\\\""
, "`" => "\\`"
, "\t" => "\\t"
, "\r" => "\\r"
, "\n" => "\\n"
, "\x00" => "\\0"
, "\x1A" => "\\Z")
);
}
//Начин на използване
/*
$sql = "select 8 from ala where idAla ='"._sql($_POST["id"])."';
$qsql = "insert into ala set idAla = '"._sql($_POST["id"])."'
*/
Не с preg_match, ако е число му сложи само (int) от пред и провери дали е по голямо от 0, ако не е число има други трикове, за да провериш дали съвпада с това от DB.slideR каза:Значи когато имаш $_POST променливи винаги ги филтрирай със htmlspecialchars. Това почти спира XSS атаките.
А за sql injection. При зимане на променлива $_GET трябва да промеряваш за позволени символи (с preg_match)
Ами ако не е число какво прави. Абе ето ти една защитка за xss или по точно на $_GET променливите.Karcho каза:Не с preg_match, ако е число му сложи само (int) от пред и провери дали е по голямо от 0, ако не е число има други трикове, за да провериш дали съвпада с това от DB.slideR каза:Значи когато имаш $_POST променливи винаги ги филтрирай със htmlspecialchars. Това почти спира XSS атаките.
А за sql injection. При зимане на променлива $_GET трябва да промеряваш за позволени символи (с preg_match)
Виж това за предпазване- http://web-tourist.net/login/login/view.php?st=2014
Най-добре я сложи някаде в конфигурационния ти файл$simbols = array("\/", "\'", """, "\.", "\<", "\>");
foreach($simbols as $simbol)
{
foreach($_GET as $get)
{
if(preg_match("/{$simbol}/", $get))
{
die("You use unknown simbols.");
}
}
}