Как создать внешнюю безопасную форму для клиентов в Rails - PullRequest
1 голос
/ 03 мая 2009

Я использую Ruby on Rails для создания приложения, в котором предприятия могут создавать учетные записи и добавлять информацию о своих клиентах. Я хотел бы иметь возможность создать форму, которую они могут разместить на своем веб-сайте для автоматического ввода информации о клиентах в свою учетную запись. Я знаю, что мог бы сделать что-то вроде:

<% form_tag my_site_url_with_action do %>
 ....put here the fields for client info

Но мне было интересно, есть ли способ сделать его безопасным, гарантируя, что он поступает с веб-сайта моего клиента, а не с какого-то спам-сайта или около того.

Есть идеи?

Спасибо

Tam

Ответы [ 2 ]

2 голосов
/ 03 мая 2009

Может быть, использование iframe может вам помочь? Я думаю, что это не одобряется, чтобы использовать это, но используйте то, что делает работу. :)

Имея на своих клиентских сайтах iframe, вы все равно можете войти и использовать все XSS-вкусности, встроенные в рельсы.

0 голосов
/ 04 мая 2009

Если ваше приложение rails использует ресурсы RESTful, вы можете использовать ActiveResource .

В противном случае быстрое и грязное решение: Формы на вашем сайте Rails имеют маркер подлинности в качестве скрытого ввода. Это гарантирует, что представленная информация поступает из безопасного источника, такого как сам сайт. Вы можете использовать этот скрытый ввод в удаленной форме, чтобы Rails принял его. Вы также можете написать свое действие получения, чтобы перенаправить обратно на сайт, с которого оно пришло после завершения обработки (redirect_to: back).

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