Авторизация Rails необходима для почтовых действий? - PullRequest
1 голос
/ 23 февраля 2011

У меня есть приложение, которое я пишу на рельсах 3 с канком и разрабатываю.Мне любопытно, если авторизация почтовых действий на ваших контроллерах необходима или полезна с точки зрения безопасности?Предполагая, что все действия моего контроллера требуют аутентификации w / devise (т.е. пользователь должен войти в систему).

Я понимаю, почему мне нужна авторизация через cancan для действий моего контроллера, которые используют GET, поскольку пользователь может просто ввести URL-адрес, который онхотите посетить свободно, и это должно быть заблокировано.Однако с сообщениями пользователь должен опубликовать данные из формы, которая защищена от xss-атаки токеном.

В этом случае можно с уверенностью предположить, что если я ограничу видимость, скажем,кнопка на мой взгляд с cancan, что пользователь не сможет отправить форму злонамеренно?

Большое спасибо

РЕДАКТИРОВАТЬ:

Спасибо за быстрый ответ, ребята.Как указывалось ниже, злоумышленник может подделать сообщение в форме, используя такие инструменты, как firebug, и поэтому необходима авторизация.

Каков наилучший способ симулировать этот тип взаимодействия (пользователь, отправляющий сообщение наURL с формой, которую они взломали) используя капибару / огурец?

Еще раз спасибо.

Ответы [ 3 ]

2 голосов
/ 23 февраля 2011

Пользователь может отправить запрос POST независимо от того, находятся они на вашем сайте или нет. Вы правы, полагая, что маркер безопасности поможет предотвратить XSS, но я бы добавил аутентификацию для других методов атак.

Хорошей (бесплатной) книгой для чтения, если вы беспокоитесь о безопасности, является Руководство по безопасности Ruby on Rails . В нем описаны все распространенные формы злонамеренных атак и даже рассматриваются некоторые из менее используемых (но столь же эффективных) методов. Это также дает отличные решения о том, как сделать ваше приложение более безопасным.

1 голос
/ 23 февраля 2011

Вы должны проверить авторизацию пользователя в контроллере.

С помощью таких простых инструментов, как FireBug, вы можете редактировать содержимое формы вручную и даже добавлять дополнительные текстовые поля или аналогичные.Защита от XSS вам в этом не поможет.

0 голосов
/ 23 февраля 2011

Пользователь по-прежнему сможет генерировать кнопку (любой метод, от использования Firebug до изменения кода браузера) на стороне клиента и отправлять форму. Если я правильно помню, токены отправляются в HTML-заголовке, поэтому подделать форму не составит труда.

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