2010-11-23 80 views
1

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

我想验证json数据,然后将它们保存到我的数据库中。我是否必须编写自定义代码来检查每个字段,或者是否有一些可用于检查数据的表单api?

回答

1

由于您允许用户输入(基本)任意数据必须小心对SQL InJectionXSS。 Django中有两个支撑,这里是如何 -

  1. 在你的模板,旁边的形式代替csrf_token防止CSRF
  2. 要防止SQL注入攻击,请将urlencode filter放在您的模板中(如果适用)。好了不多,但它可以防止样病例 - 把你的撇号'到27%,使它们变得无害
  3. 此外,如果你有你的form.py像./app/form.py,然后同时确定成形 -
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此为重新发明轮子的风险。
+0

Downvoter,为什么不满意这个答案?简单的投票并不是一个好的做法... – 2010-11-23 13:41:12

1

If it decodes,那么我想这是JSON ...

但是人们不禁要问,为什么你把那直接到你的数据库中,而不对它进行分析?你打算做些什么,比如晚些时候直接送回给他们吗?如果是这样,那么你可以validate it client side