Прошу прощения, если этот вопрос задан раньше, если он просто связал меня с ним в комментарии.
Итак, я создал веб-сервис для приложения android/iOS с php
, который работает именно так.
приложение отправляет запрос на PARAMATERS
userID
иfoodType
Файл
php
затем запрашивает базу данных, используя эти две переменные и возвращаетjson_encode
результат.
Мое беспокойство в том, что если кто-то открыть мою ссылку на веб-сервис они могут спамить с должностями запросы в результате 100 захода в моей базе данных, которые просто не-нужен
Ниже приведен пример моего текущего файла getData.php
<?php
$userID = mysql_escape_string($_POST['userID']);
$foodType = mysql_escape_string($_POST['foodType']);
$mysqli = getDB();
echo json_encode(getDate($mysqli, $userID, $foodType); //mysql database interaction is here
$mysqli->close();
?>
Там нет ничего, предотвращая попытки хакеров от попыток размещать вредоносные заявления SQL в моей базе данных
Итак, что мне интересно, если бы я добавил третий параметр в мой почтовый запрос под названием appID
, это было бы хорошим решением?
Например, если бы я обновил файл getData.php
ниже, это было бы намного безопаснее или есть уязвимость, которой я не хватает?
<?php
$appID = $_POST['appID'];
if($appID === "hardCodedEquivalentID"){
$userID = mysql_escape_string($_POST['userID']);
$foodType = mysql_escape_string($_POST['foodType']);
$mysqli = getDB();
echo json_encode(getDate($mysqli, $userID, $foodType); //mysql database interaction is here
$mysqli->close();
}
?>
Если это хорошее решение, или уже есть эквивалентная практика, которая бы добиться того, что я пытаюсь сделать, пожалуйста, дайте мне знать
'' Здесь нет ничего, что помешало бы хакерам пытаться опубликовать вредоносные инструкции SQL в мою базу данных ". - Не было бы уязвимости SQL-инъекции. Мы не можем точно знать, потому что мы не видим ваш код доступа к данным, но, учитывая этот код, я считаю, что у вас есть такая уязвимость. '", если бы я добавил третий параметр в мой запрос на почту, называемый appID, это было бы хорошим решением? "- Кто-нибудь, использующий ваше приложение, увидит это значение. Это не секрет. – David
@ Давид относительно вашего второго момента, как кто-нибудь сможет увидеть значение appID? –
@CamConnor: путем мониторинга трафика между приложением и службой. Если вы не шифруете этот трафик в приложении? – David