如何在Django中将易受攻击的参数从模板传递到视图?
我正在创建一个应用程序,可以创建、编辑或查看一个地方 当我编辑或查看一个地方时,我会通过URL传递“id”字段,例如: /地点/地点/1 /地点/地点/2 当我尝试编辑一个位置时,我会: place_detail.html如何在Django中将易受攻击的参数从模板传递到视图?,django,django-templates,django-forms,django-views,Django,Django Templates,Django Forms,Django Views,我正在创建一个应用程序,可以创建、编辑或查看一个地方 当我编辑或查看一个地方时,我会通过URL传递“id”字段,例如: /地点/地点/1 /地点/地点/2 当我尝试编辑一个位置时,我会: place_detail.html <a href="{% url places_edit_place place.id %}">Edit</a> 我在'id_place'参数中收到一个place对象的'id'字段。但是如果我在url中更改“id”参数(/places/edit_-p
<a href="{% url places_edit_place place.id %}">Edit</a>
我在'id_place'参数中收到一个place对象的'id'字段。但是如果我在url中更改“id”参数(/places/edit_-place/1到/places/edit_-place/2),网页将转到第二个要编辑的位置,用户可以根据自己的需要更改此参数
如何将此私有“id”参数从模板发送到视图,而不让用户看到它。不要
如果你的应用程序有规则来确定用户可以编辑哪些地方,那么你应该实现一些业务逻辑,以确保用户无法编辑该地方,即使他们碰巧通过URL进行编辑。您可以使用Django来确保用户不能访问任何他们不应该访问的内容
urlpatterns = patterns('',
url(r'^edit_place/(?P<id_place>\w+)/$',
views.edit_place,
name='places_edit_place'),
)
def edit_place(request, id_place, template_name='places/edit_place.html'):