Rails 5, передача параметра в запрос - это безопасно? - PullRequest
0 голосов
/ 11 июня 2019

Кто-то может спросить это раньше, однако мне нужно проверить это

AFAIK, это безопасно (Rails 5.1)

user = User.where(email: params[:user][:email]).first

Если нет, пожалуйста, дайте мне знать, почему?

1 Ответ

1 голос
/ 11 июня 2019

Это безопасно в том смысле, что вам не нужно экранировать или permit параметр.

  • Rails автоматически выйдет из параметра, чтобы защитить вас от внедрения SQL
  • Вам не нужно беспокоиться о сильных параметрах или использовать permit, поскольку вы не выполняете массовое задание

Так что код будет делать именно то, что говорит.

Однако, он все еще может быть «небезопасным» в том смысле, что тот, кто вызывает это действие, может запросить любого пользователя в базе данных.

Обычно это безопасно, только если вызывающий абонент аутентифицирован и разрешено видеть всех пользователей в базе данных. В противном случае любой может быстро проверить, какие пользователи существуют, а может, и хуже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...