Я думаю, что у меня есть проблема с безопасностью в моем приложении, и я хочу знать, как лучше избегать этого.
Это часть моего кода:
try
{
$key = $_SERVER['HTTP_KEYID'];
if ($key == KEY_SECURITY)
{
$oUserBE->idUser = $this->post('idUser');
$oUserBE->email = $this->post('email');
$list = $this->UserDAO->getUsers($oUserBE, $return, $message);
if ($return == 0)
{
$oMessageBE->code = $return;
$oMessageBE->origen = "getUsers";
$oMessageBE->description = $message;
$oMessageBE->type = "OK";
$oResponseBE->message = $oMessageBE;
$oResponseBE->listUser = $list;
}
else
{
$oMessageBE->code = $return;
$oMessageBE->origen = "getUsers";
$oMessageBE->description = $message;
$oMessageBE->type = "ERROR";
$oResponseBE->message = $oMessageBE;
}
}
else
{
$oMessageBE->code = 1;
$oMessageBE->description = 'Incorrect security key';
$oMessageBE->origen = "getUsers";
$oMessageBE->type = "ERROR";
$oResponseBE->message = $oMessageBE;
}
}
catch (Exception $e)
{
$oMessageBE->code = 1;
$oMessageBE->description = $e->getMessage();
$oMessageBE->origen = "getUsers";
$oMessageBE->type = "ERROR";
$oResponseBE->message = $oMessageBE;
}
Ключ безопасности находится в заголовке.
Моя проблема в том, что в инструментах разработчика Firefox, когда явошел в систему с одним пользователем, затем я могу отредактировать и повторно отправить запрос на публикацию, и он может вернуть другого пользователя, если я изменю только идентификатор пользователя или всех пользователей в моей базе данных, если я отправлю запрос без параметров. Я хочу заблокировать эту возможность на моем сервере.
https://i.stack.imgur.com/z4ftA.jpg