使用delphi 2010,我想知道是否有某种方法可以转义以下字符串以使其免受sql注入(inject)攻击:
我的字符串:
SQLQuery1.SQL.Text := 'SELECT * FROM registered WHERE email="'+
email+'" and login_pass="'+password+'"';
如何重写此字符串,使其比某人在我的 TEditbox 中键入“作为他的电子邮件或密码时更安全!
最佳答案
使用参数,并让数据库驱动程序处理这些内容。
SQLQuery1.SQL.Text := 'SELECT * FROM registered WHERE email= :email'+
' and login_pass = :password';
SQLQuery1.ParamByName('email').AsString := EMail;
SQLQuery1.ParamByName('password').AsString := Password;
关于sql - 如何在 SQL 查询中转义“”等特殊字符以避免注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8637889/