Я сделал несколько мобильных приложений, используя django в качестве моего бэкэнда, и теперь я работаю над расширением chrome. Я хочу, чтобы мои пользователи могли отправлять запросы POST на сервер с помощью приложения/расширения, но есть ли способ сделать это без предварительного запроса сервера на токен CSRF? Он просто сохраняет приложение при выполнении двух запросов каждый раз, когда мы хотим отправить данные. Например, я хочу обновить свой профиль в своем приложении для социальных сетей или обновить кошелек с расширением chrome. Было бы неплохо открыть представление профиля, ввести данные и нажать на сервер. Он менее гладкий, если мне нужно открыть профиль, а затем дождаться его, чтобы захватить маркер с сервера, а затем я могу отправить данные. Есть ли другой способ сделать это? Или я заставляю делать несколько запросов каждый раз, когда я хочу отправлять данные?Защита Django CSRF для мобильных приложений и хромированных расширений
Кроме того, небольшое разъяснение, CSRF запрещает сайтам отправлять формы с данными пользователя. Но что мешает мне создать сайт, который использует ajax или что-то, чтобы захватить реальный сайт и украсть токен CSRF, а затем вставить его в форму запроса на межсайтовый сайт? Я чувствую, что здесь есть лазейка. Я знаю, что я не совсем понимаю это на всем пути.
Так что сделать это csrf_exempt просто делает так, что токен csrf не требуется? Если я использую его для бэкэнд в приложении и не обслуживаю фактические страницы, тогда я мог бы также отключить промежуточное ПО? Сегодня я много читал о csrf (я думал, что понял это раньше, но, видимо, нет). Справедливо ли говорить, что CSRF запрещает людям создавать поддельный сайт, который пытается завладеть вашей пользовательской сессией? –
CSRF может использоваться для атак сеансовой фиксации. Но это также допускает другие атаки. Если вы только создаете и API, вы действительно можете удалить промежуточное ПО CSRF. Вместо этого все запросы должны быть аутентифицированы каким-либо образом. Например. токен или учетные данные. – EWit