我理解SQL注入的概念,它們是什麼,它們爲什麼是壞的以及如何通過參數化查詢和突破查詢等方法阻止它們,但是如果在代碼中只使用直接查詢字符串會發生什麼情況,在沒有用戶輸入的地方。例如,如果您在用戶登錄時存儲了有關用戶的信息,並且它是自動完成的,並且用戶沒有意識到或執行任何操作,則可能類似於此;例如,當不處理用戶輸入時,無參數查詢是否可以使用?
UPDATE tblUser SET lastLogged = blahblah WHERE userID = blahblah2;
這會在開發人員的心中造成任何形式的擔憂威脅嗎?
我的主要猜測是,如果黑客闖入某個程序或網站,或許他可以將這些信息進一步用於其他攻擊?查詢/字符串是否容易混淆?
提前歡呼。
編輯:這純粹是爲了理論,所以儘量避免使用諸如「如果你要做一份工作,做得正確」等等。
有趣的是,我沒有意識到參數在緩存信息方面也增加了性能。感謝:) –
緩存的查詢計劃避免了重新編譯查詢所花費的時間。但是,緩存計劃通常對於參數的所有值都不是最優的(Google用於「參數嗅探」)。參數導致更好性能的說法比真實更爲錯誤。 – Andomar