Delphiは QuotedStrでSQLインジェクションを考慮する
DelphiではQuotedStr関数を利用することでSQLインジェクションを防ぐことができる。QuotedStr関数は渡された文字列に引用符を付加することで、特殊文字がSQL文の一部として解釈されるのを防ぐ。
例としては、QuotedStrを使用した例が以下。
var
username: string;
password: string;
query: string;
begin
// 获取用户输入的用户名和密码
username := EditUsername.Text;
password := EditPassword.Text;
// 构建查询语句,并使用QuotedStr函数处理用户名和密码
query := 'SELECT * FROM users WHERE username = ' + QuotedStr(username) +
' AND password = ' + QuotedStr(password);
// 执行查询等后续操作
// ...
end;
上記のサンプルでは、 QuotedStr 関数を使用することで、ユーザーが入力したユーザー名とパスワードが引用符で囲まれ、SQL クエリ文にそのまま渡され、SQL インジェクションを防いでいます。