Контактная форма на личном сайте пользователя, которая отправляется в мою Django DB?

Мне интересно, возможно ли предоставить пользователям моего сайта django копируемый элемент HTML-формы для размещения на их личном сайте, который фактически ПОСТИТ к моей базе данных Django?

Идея состоит в том, чтобы позволить пользователю моего приложения Django скопировать и вставить HTML контактную форму на свой личный сайт с такими полями как name, phone, email, notes, которые все будут полями модели в моем приложении Django.

В основном, когда посетители их сайта заполняют контактную форму, я хотел бы отправить ее в мою БД Postgres в такой модели, как...

class Lead(models.Model):
    user = This would be the user on my Django app
    name...
    phone...
    email...
    notes...

Возможно ли это сделать или даже безопасно? Это было бы действительно большой частью моего проекта, чтобы позволить этот сбор свинца.

Ничто не мешает сделать ПОСТ на совершенно несвязанный сервер:

<form method="POST" action="http://somewhere/something/" ...>

Однако проблема заключается в аутентификации. Откуда вы знаете, что клиент, размещающий данные, представляет того человека, за которого себя выдает?

CSRF-токен в Django - это средство проверки того, что все, что приходит в виде POST, было ответом на форму, отправленную конкретному клиенту сервером Django. Если форма не генерируется сервером Django, то вы не можете проверить.

Вы можете отключить проверку CSRF-токенов, но вы должны быть готовы как к отправке одиночных вредоносных POST, так и к попыткам отказа в обслуживании путем наводнения вас множеством таких POST. Это очень похоже на проблему спама по электронной почте.

Вернуться на верх