先看看那種容易被注入的sql
id
=11001
sql =
""" select
id,name,
agefrom
student
where
id = """+id
+"""
"""cursor = connection.cursor(
)try
: cursor.execute(sql)
result = cursor.fetchall(
)for result1 in result:
// **塊
pass
finally
: cursor.close(
)
一般來說寫sql語句在程式中,若有where條件一般都可能會去直接拼接,到那時這種方式容易被sql注入,首先說明下什麼是sql的注入,簡單來說就是你寫的sql被別人在頁面上拼接了sql。比如拼接1=1這種條件,如果登入介面被注入1=1那麼就可以隨意進入你的程式了。所以才要防止sql的注入。
下面再來看看防止sql的注入
id
=11001
params =
sql =
""" select
id,name,
agefrom
student
where
id = %s
"""id)
cursor = connection.cursor(
)try
: cursor.execute(sql, params)
result = cursor.fetchall(
)for result1 in result:
// **塊
pass
finally
: cursor.close(
)
python Django安裝教程
2.解壓到桌面 3 開啟cmd cd到這個目錄執行 python setup.py install命令即可安裝,安裝成功提示 installed d python27 lib site packages pytz 2018.5 py2.7.egg finished processing depend...
Python Django傳送郵件
經常我們登陸一些 或者軟體都會出現簡訊驗證或者郵箱驗證,今天來初步了解一下郵箱驗證的實現。路由配置等這裡不再介紹,具體的郵箱設定請參考我以前的部落格 設定郵箱以及獲得授權碼 引入傳送郵件的模組 from django.core.mail import send mail,send mass mail...
python django 模型查詢
1查詢集表示從資料庫獲取的物件集合 2查詢集可以有多個過濾器 3過濾器就是乙個函式,基於所給的引數限制查詢集結果 4從sql角度來說,查詢集合select語句等價,過濾器就像where條件 查詢集一在管理器上呼叫過濾器方法返回查詢集 二查詢集經過過濾器篩選後返回新的查詢集,所以可以寫成鏈式呼叫 三惰...