Django保護敏感資訊的方法示例

2022-09-28 03:33:13 字數 1169 閱讀 6687

django在安全性上表現出色,但是在日常開發中難免會有沒有注意到的地方,今天我們就講乙個非常有用的技巧。

千萬不要在正式環境中設定debug=true,除非你想跑路

sensitive_variables

眾所周知django的發生異常的時候會有錯誤資訊,弄不好,不懷好意的人就通過這些不經意的資訊,提出到銘感資訊,我們可以使用sensitive_variables處理敏感資訊。

from django.views.decorators.debug import sensitive_variables

@sensitive_variables('user', 'password', 'other')

def process_info(user):

password = user.pass_word

other = user.credit_card_number

name = user.name

...這樣在發生錯誤的時候django會做脫敏處理。

保護所有變數

@sensitive_variables()

def my_function():

...注意:如果有多個裝飾器,需要把這個放在第乙個。

處理post的sensitive_post_parameters

sensitive_post_parameters 和上面的類似只是它是用來處理post請求的。

from django.views.decorato import sensitive_post_parameters

@sensitive_post_parameters('pass_word', 'credit_card_number')

def record_user_profile(程式設計客棧request):

userprofile.create(

user=re程式設計客棧quest.user,

password=request.post['pass_word'],

credit_card=request.post['credit_card_number'],

name=request.post['name'],

)或者處理所有引數

@sensitive_post_parameters()

def my_view(request):

...

如何保護敏感資訊不被篡改

系統中的敏感資訊,如賬戶餘額,需要給予特殊保護,不能被篡改。如何從程式角度給予保證?採用非對稱加解密演算法,原理如下 1 生成一對公鑰和金鑰,使用時必須成對使用。2 公鑰發布給公眾,私鑰自己儲存,需要保證私密性。私鑰不洩露是這套體系生效的前提。3 只有自己用私鑰加密產生的密文,用自己發布出去的公鑰才...

保護記憶體中的敏感資料

某些時候,我們需要在記憶體中儲存一些非常敏感的資料,比如信用卡賬號密碼 軟體註冊碼等等。那麼危險隨之而來,使用一些高階軟體除錯工具檢視程序的記憶體資料,居心不良的人就會有機會拿到這些本該嚴格保密的資料。microsoft windows 2000 sp4 以上版本的作業系統提供了用於資料保護的 ap...

保護記憶體中的敏感資料

感覺安全方面很重要啊.看到好文章,大家分享一下了.某些時候,我們需要在記憶體中儲存一些非常敏感的資料,比如信用卡賬號密碼 軟體註冊碼等等。那麼危險隨之而來,使用一些高階軟體除錯工具檢視程序的記憶體資料,居心不良的人就會有機會拿到這些本該嚴格保密的資料。microsoft windows 2000 s...