Articles of инъекция

SQL Injection – безопасен ли этот запрос?

У меня есть страница, которая добавляет различные параметры к URL-адресу, который используется для запроса. Например http://www.example.com/search.php?category=Schools&country[]=Belgium&country[]=Czech+Republic Мой код похож на этот if(isset($_GET['country'])){ $cties = "'" . implode("','", $_GET['country']) . "'"; } else { $cties = "'Albania','Andorra','Austria','Belarus','Belgium','Bosnia & Herzegovina','Bulgaria','Croatia','Czech Republic','Denmark','Estonia','Faroe Islands','Finland','France','Germany','Gibraltar','Great Britain','Greece','Hungary','Iceland','Ireland','Isle of Man','Italy','Latvia','Liechtenstein','Lithuania','Luxembourg','Macedonia','Malta','Moldova','Monaco','Montenegro','Netherlands','Norway','Poland','Portugal','Serbia','Romania','San Marino','Slovakia','Slovenia','Spain','Sweden','Switzerland','Ukraine','United Kingdom'"; } if(isset($_GET['category'])){ $cat = $_GET['category']; } else{ $cat = " […]

Защита от SQL-инъекций

Я разрабатываю веб-сайт, и я пытаюсь обеспечить соединение. Я использовал функцию addslashes в $login чтобы остановить SQL-инъекцию, но некоторые друзья сказали мне, что недостаточно защиты. Однако они не показали мне, как использовать эту уязвимость. Как я могу / нарушить этот код? Как я могу его защитить? <?php if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) ) […]

Является ли htmlspecialchars достаточным для предотвращения SQL-инъекции переменной, заключенной в одинарные кавычки?

Хотя многие источники цитируют функцию htmlspecialchars с ENT_QUOTES недостаточно для предотвращения SQL-инъекции, ни одна из них не дает доказательства концепции. Я не могу думать ни о какой возможности. Рассмотрим следующий пример: $username = htmlspecialchars($_GET['name'], ENT_QUOTES, 'UTF-8'); $sql = "SELECT * from user WHERE name='$username'"; mysql_query($sql,…); Может ли кто-нибудь представить пример, кроме тех, которые рассматриваются в […]