2014-10-15 2 views
0

У меня есть два сервера, которые говорят доменное имя «example.com» и «demo.com». Я сделал все свои проекты на «demo.com». Но я хочу зарегистрироваться на странице «demo.com» также на домашней странице «example.com», где пользователь перенаправляется после POST-данных на сервер «demo.com», дает ли он правильную или неправильную информацию.Как установить токен csrf для разрешенных списков сайтов

У меня ошибка csrf. Когда я дал освобожденный токен csrf. Он работал нормально, чего я не хочу. Может ли кто-нибудь помочь мне в этом без использования csrf. или CSRF освобождены только два сервера т.е. «example.com» и «demo.com» (список Разрешенные хоста)

(Извините за мой английский)

+0

Это не так, как работает CSRF. –

ответ

0

Это не возможно и @Daniel упоминается в комментариях это еще не как это работает. Тонер CSRF будет генерироваться сервером всякий раз, когда пользователь посещает страницу каждый раз. И каждый раз это по-другому. Когда пользователь отправляет форму, сервер проверяет, был ли он тем же, который он отправил или отличался.

Вы также должны понимать, почему защита CSRF существует на первом месте. Например, предположим, что запрос POST на stackoverflow.com/avi/delete удалит мой профиль в SO.

Теперь, если я посетить вредоносный сайт, и он может иметь невинную ищет форму просить мое имя и адрес электронной почты:

<form action="http://stackoverflow.com/avi/delete" method="post"> 
    Your name: <input type="text"><br> 
    Your email: <input type="text"><br> 
    <input type="submit"> 
</form> 

Если я зарегистрирован в SO и моя сессия является действительным, а также, в то же время, которое я отправляю с вредоносного сайта, моя учетная запись будет удалена! Потому что браузер отправляет связанные с ним файлы cookie, а сервер SO может их идентифицировать. Но хорошие парни в SO умны. На странице SO, которая имеет форму удаления учетной записи, также имеется токен CSRF. И этот токен будет генерироваться каждый раз, когда пользователь посещает страницу. И сервер проверяет его, если он такой же, тогда учетная запись будет удалена, а если нет, она просто проигнорирует запрос.

Теперь злоумышленник не может знать токен CSRF, сгенерированный SO. Поэтому, даже если я отправлю форму, мой аккаунт будет по-прежнему безопасным.

Теперь, в вашем случае, что вы хотите, это токен, который должен быть сгенерирован с сервера A, и вы хотите, чтобы его проверяли на сервере B. Теперь вы можете использовать , используя тот же токен каждый раз и так, чтобы Сервер B может проверить его. Но это наносит ущерб целям жетонов CSRF.

Смежные вопросы