SQL注入
當程序員連接字符串以彙編SQL指令時,就會發生SQL注入。字符串是純數據,而SQL指令是可執行代碼。
從字符串組裝的SQL查詢
下面是一個示例,該示例在不使用SQL參數的情況下將字符串組合到SQL查詢中。用戶輸入$ email和$ password擴展為原始字符串(如以下紅色文本所示),並組合為一個SQL查詢。
從用戶那裡選擇*電子郵件= 'xxx @ xxx.xxx'和密碼= md5(' xxx')或1 = 1--] ');
參數化查詢示例
@Age是SQL查詢@SqlInstruction中使用的參數。
宣告@SqlInstruction NVARCHAR(500);
SET @SqlInstruction = N'SELECT * FROM從用戶年齡= @Age ;';
EXEC sp_executesql @ SqlInstruction,N'@ Age INT',99 ;
參考文獻
.基於角色的訪問控制與基於屬性的訪問控制:如何選擇
.RBAC與ABAC訪問控制模型:有什麼區別?
.SQL注入示例–參數化查詢–印地語