通過Web應用防御SQL注入的手段有以下這些:
添加數據記錄:如果Web應用程序需要從表單中獲取相關數據,然后往后臺數據庫的相關數據表中插入一條新的記錄,程序員可以不直接使用INSERT語句,而通過先打開記錄集對象,然后往記錄集對象中先添加一條空記錄,再將具體的數據內容寫入到記錄字段中,最后直接將記錄集更新到數據庫中。這樣就可以有效避免SQL攻擊,達到防御的目的。
修改數據:如果Web應用程序需要從表單中獲取相關數據,然后修改后臺數據庫的相關數據表中的數據記錄,程序員也可以不直接使用UPDATE語句,而通過先構造一條查詢語句,打開記錄集對象,然后找到要修改的數據記錄,再將具體的數據內容寫入到記錄字段中,最后將修改后的記錄集更新到數據庫中,這樣就可以有效避免SQL攻擊,達到防御的目的。
刪除數據:如果Web應用程序需要刪除數據記錄,程序員也可以不直接使用DELETE語句,而通過先構造一條查詢語句,打開記錄集對象,然后找到要刪除的數據記錄,將此記錄刪除,再將刪除記錄后的記錄集更新到數據庫中。刪除操作是使用rs.delete語句完成的。這樣就可以有效避免SQL攻擊,達到防御的目的。
利用視圖修改和刪除:操作視圖與操作表有許多功能是相同的,例如查詢數據。如果一個視圖是多表關聯生成的,它比直接運行多表關聯速度要快,因為視圖是提前編譯好的,SQL語句的執行首先需要編譯。與表格不同,視圖的插入、修改和刪除是有限制的,這種限制可以在一定程度上保護數據被插入、修改或刪除。
利用存儲過程進行數據的修改和刪除:利用服務器端腳本修改數據的時候,可以利用記錄集對象的一些屬性,例如記錄數(rs.recordcount)來判斷影響的行數,如果不為0可以進行修改或刪除。另外也可以利用SQL語句通過存儲過程對修改或刪除操作進行重新封裝,并利用SQL語句對參數或影響的行數進行判斷,在存儲過程中也可以同時對參數進行過濾等處理。
回答所涉及的環境:聯想天逸510S、Windows 10。
通過Web應用防御SQL注入的手段有以下這些:
添加數據記錄:如果Web應用程序需要從表單中獲取相關數據,然后往后臺數據庫的相關數據表中插入一條新的記錄,程序員可以不直接使用INSERT語句,而通過先打開記錄集對象,然后往記錄集對象中先添加一條空記錄,再將具體的數據內容寫入到記錄字段中,最后直接將記錄集更新到數據庫中。這樣就可以有效避免SQL攻擊,達到防御的目的。
修改數據:如果Web應用程序需要從表單中獲取相關數據,然后修改后臺數據庫的相關數據表中的數據記錄,程序員也可以不直接使用UPDATE語句,而通過先構造一條查詢語句,打開記錄集對象,然后找到要修改的數據記錄,再將具體的數據內容寫入到記錄字段中,最后將修改后的記錄集更新到數據庫中,這樣就可以有效避免SQL攻擊,達到防御的目的。
刪除數據:如果Web應用程序需要刪除數據記錄,程序員也可以不直接使用DELETE語句,而通過先構造一條查詢語句,打開記錄集對象,然后找到要刪除的數據記錄,將此記錄刪除,再將刪除記錄后的記錄集更新到數據庫中。刪除操作是使用rs.delete語句完成的。這樣就可以有效避免SQL攻擊,達到防御的目的。
利用視圖修改和刪除:操作視圖與操作表有許多功能是相同的,例如查詢數據。如果一個視圖是多表關聯生成的,它比直接運行多表關聯速度要快,因為視圖是提前編譯好的,SQL語句的執行首先需要編譯。與表格不同,視圖的插入、修改和刪除是有限制的,這種限制可以在一定程度上保護數據被插入、修改或刪除。
利用存儲過程進行數據的修改和刪除:利用服務器端腳本修改數據的時候,可以利用記錄集對象的一些屬性,例如記錄數(rs.recordcount)來判斷影響的行數,如果不為0可以進行修改或刪除。另外也可以利用SQL語句通過存儲過程對修改或刪除操作進行重新封裝,并利用SQL語句對參數或影響的行數進行判斷,在存儲過程中也可以同時對參數進行過濾等處理。
回答所涉及的環境:聯想天逸510S、Windows 10。