我有一个登录表单,通过提示符(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注入?
答案 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
请使用参数进行查询构造,不要使用字符串连接