我在數據庫中始終使用ORM層,所以我不介意SQL注入,但朋友給了我這個任務,我仍然不知道如何解決它。SQL注入理論
我知道PHP腳本只是檢查返回的查詢是否爲!= null(用戶名匹配到輸入的用戶名&密碼找到)。
查詢本身在PHP中的樣子:
$sql = "SELECT name FROM users WHERE name='".$name. "' AND password='".$password. "'";
什麼是archieve這個查詢= null或獲取有效的登錄數據(用戶名密碼&)的收益的最佳途徑!密碼存儲在數據庫中。我知道存儲平原是不好的,我知道使用PDO是好的,但我不知道如何解決他給我的這個有趣的任務,也許是因爲我一直在使用PDO。
在數據庫中存儲普通密碼是一個** big ** no-no。他們真的應該被哈希。另外,請考慮有人輸入''的情況。 DROP TABLE users'到這個語句中。哎呀,你的桌子是*走了*。這意味着您需要轉義userinputs(*從不信任用戶輸入*)或使用預準備語句。我推薦後者。 – Qirel
[我怎樣才能防止SQL注入在PHP?](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – Qirel
這不是如何防止SQL注入,正如我告訴我使用db抽象層,這是更理論。 –