Tyr*_*one 7 sql security google-app-engine sql-injection
由于App Engine实际上并不使用SQL,这是否意味着App Engine应用程序不受SQL注入攻击的影响?
yyd*_*ydl 10
是的,如果您按照用户输入与GQL字符串连接的方式执行操作,它们都同样容易受到注入攻击.
但是,如果您遵循Google在GQL字符串中输入值时使用参数的最佳做法建议,那么您应该使用GQL.所以代替:
query = GqlQuery("SELECT * FROM Song WHERE composer = 'Lennon, John'")
Run Code Online (Sandbox Code Playgroud)
您可以使用:
query = GqlQuery("SELECT * FROM Song WHERE composer = :1", "Lennon, John")
Run Code Online (Sandbox Code Playgroud)
要么:
query = GqlQuery("SELECT * FROM Song WHERE composer = :composer", composer="Lennon, John")
Run Code Online (Sandbox Code Playgroud)
此外,您将完全通过使用Query类生成查询来避免此问题.