django - 验证数据

时间:2010-11-23 05:02:07

标签: django

在我的django应用程序中,我允许用户将一些json数据剪切并粘贴到文本框中,然后上传到数据库进行保存。

我想在将json数据保存到我的数据库之前验证它们。我是否必须编写自定义代码来检查每个字段,或者我是否可以使用某种形式来检查数据?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

由于您允许用户输入(基本上)任意数据,因此必须注意SQL InJectionXSS。 Django支持两者,这里是如何 -

  1. 在您的模板中,在表单旁边放置csrf_token,以阻止CSRF
  2. 要防止SQL注入攻击,请在适用的位置将urlencode filter放在模板中。好吧不多,但它可以防止像 - 将你的撇号变成%27,使它们无害
  3. 此外,如果您的form.py类似./app/form.py,那么在定义表单时
  4. class RegistrationForm(forms.Form):
        username  = forms.CharField(label='Username', max_length=30)
        def clean_username(self):
            username = self.cleaned_data['username']
            # do any more processing you need.
    
    1. 此外,如果您使用的是JSON,请务必使用inbuilt modules以获得重新发明轮子的风险。

答案 2 :(得分:1)

If it decodes,然后我猜它是json ......

然而,有人想知道为什么你不直接将它放入数据库而不解析它?你打算做一些事情,比如稍后直接回馈给他们吗?如果是,那么你可以validate it client side