2014-01-14 3 views
0

У меня есть сообщение приложение, которое пользователи могут читать и воспроизводить сообщения. Форма воспроизведения адрес сообщения (действие) является выглядеть следующим образом: /сообщения/Входящие/ Например: /сообщения/Входящие/4Замораживание формы URL в Django

<form method="post" action="/messages/inbox/4">{% csrf_token %} 
... 
</form> 

И пользователь может воспроизвести сообщение. Но пользователь может изменить адрес формы (действия) на /messages/inbox/6 например. , и он сохранит сообщение воспроизведения в message_id = 6. Это не проблема для меня, потому что я проверяю детали пользователя перед сохранением. Но я ищу способ проверить, изменилось ли действие формы, система показывает ошибки пользователям после публикации.

Итак, как замерзать URL-адрес формы (действия) в Django?

Спасибо за ваш совет.

ответ

1

Вы уже делаете правильную вещь, которая должна проверять учетные данные пользователя в вашей функции просмотра перед сохранением.

Невозможно остановить зловредных пользователей от публикации каких-либо данных на любой URL-адрес, который они выбирают ... вы должны убедиться, что ваши представления, которые получают данные после сообщения, выполняют только юридические действия.

+0

Вы правы, но если строки 4,5,6,7, у которых есть доступ к ним, он может сохранить message_id = 4 на message_id = 6. так что это никогда не проблема? – Mortezaipo

+0

. Невозможно предотвратить это, ваша главная проблема в этом случае должна быть в вашем пользовательском интерфейсе: чтобы не допустить, чтобы хорошо себя вести неправильно делал неправильно, следуя нормальному потоку вашего приложения. Вы не можете помешать плохому пользователю выполнять все, что у них есть. – Anentropic

+0

Спасибо за советы – Mortezaipo

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