在Livecode中防止SQL注入

时间:2015-01-19 07:45:55

标签: sql-injection livecode

我有一个登录表单,通过提示符(ask)显示。 我有这些脚本用于登录用户。

ask "Please enter your username"
put it into username
ask "Please enter your password"
put it into password

revExecuteSQL tDatabaseID, "SELECT * FROM Users WHERE Username=" &username& " AND Password="&password&"

当用户/攻击者在表单中输入"字符时,应用程序会显示SQL脚本中存在错误,这可能会导致用户/攻击者开始入侵。

如何在livecode中保护应用程序免受SQL注入?

2 个答案:

答案 0 :(得分:2)

LiveCode执行清理并在查询here.

中使用查询中的参数

因此,如果您正在构建这样的查询,LiveCode没有帮助,您确实需要转义自己的查询:

get revDataFromQuery(tab, return, gConnectionID, "SELECT * FROM users WHERE email LIKE '%" & theSearchString & "%'")

但是,如果您正在进行此类查询,那么LiveCode已经为您构建了一个相当安全的查询:

get revDataFromQuery(tab, return, gConnectionID, "SELECT * FROM users WHERE email LIKE :1", "theSearchString")

答案 1 :(得分:1)

revExecuteSQL tDatabaseID, "SELECT * FROM Users WHERE Username= ':1' AND Password=':2'", username, password

请使用参数进行查询构造,不要使用字符串连接