2010-11-23 58 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