Данные, пересекающие друг друга, ставят под угрозу безопасность на сервере Rails API

#ruby-on-rails #data-security

#ruby-на-рельсах #безопасность данных

Вопрос:

Наш сервер только для API, работающий на Rails 4.2, имеет большой трафик. Время от времени данные будут пересекаться друг с другом. Например, когда почтовая программа составляет электронное письмо, она отправляет электронное письмо не тому человеку.

Мы дважды и трижды проверили наш код, и единственное объяснение заключается в том, что данные пересекаются друг с другом, как если бы они совместно использовали один и тот же сеанс. Это ставит под угрозу безопасность.

Является ли это известной проблемой для Rails? Я не могу точно определить, почему это происходит, и был бы признателен за любые общие советы и рекомендации по безопасности относительно обеспечения того, чтобы данные не были скомпрометированы и выполнялись исключительно в собственном потоке / сеансе.

Заранее спасибо.

Ответ №1:

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