Понимание того, где необходим rails authenticity_token (вход в статическую страницу?) - PullRequest
0 голосов
/ 12 декабря 2011

Я пытался понять, могу ли я иметь форму входа на моей статической домашней странице.Я хотел бы иметь несколько статических страниц, и было бы здорово иметь форму входа на них.Я потратил некоторое время на знакомство с authenticity_token, сгенерированным с помощью form_tag, и хотя я понимаю, что мы обычно хотим проверять все запросы, которые не являются запросами GET, я чувствую, что возможно было бы оставить его для входа, потому что мы не 'не доверяйте пользователю что-либо до тех пор, пока он не войдет в систему. Если злоумышленник попытается использовать CSRF на этом этапе, ему потребуется знать логин и пароль, и в любом случае пользователь все равно будет взломан.

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

1 Ответ

0 голосов
/ 12 декабря 2011

Назначение токена состоит в том, что данные не могут легко войти в вашу систему, если они не поступают непосредственно из этой формы. Когда пользователь посещает сайт, он получает файл cookie, соответствующий токену в форме. Когда форма отправлена, эти токены должны совпадать.

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

...