sql - Google App Engine 应用程序是否容易受到 SQL 注入(inject)攻击?

标签 sql security google-app-engine sql-injection

由于 App Engine 实际上并不使用 SQL,这是否意味着 App Engine 应用可以免受 SQL 注入(inject)攻击?

最佳答案

是的,它们都同样容易受到注入(inject)攻击,前提是您按照将用户输入与 GQL 字符串连接起来的方式进行操作。

但是,如果您遵循 Google 在 GQL 字符串中输入值时使用参数的最佳实践建议,那么您应该可以使用 GQL。所以不是:

query = GqlQuery("SELECT * FROM Song WHERE composer = 'Lennon, John'")

你可以使用:

query = GqlQuery("SELECT * FROM Song WHERE composer = :1", "Lennon, John")

或:

query = GqlQuery("SELECT * FROM Song WHERE composer = :composer", composer="Lennon, John")

此外,您可以通过使用 Query class 来完全避免这个问题。生成查询。

关于sql - Google App Engine 应用程序是否容易受到 SQL 注入(inject)攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6221361/

相关文章:

security - 使用 Open ID(例如在 Firefox 中)时 Google App Engine 安全警告的原因?

google-app-engine - 坏值错误 : Expected GeoPt

python - 为什么 Python MySQLdb 中的 executemany 很慢?

用于在两个日期和时间之间选择数据的 SQL 查询

php - 如何防止 PHP 中的 SQL 注入(inject)?

java - 仅加密图像文件的内容而不是整个文件

google-app-engine - 如何回滚 Google App Engine 中的 appcfg?

google-app-engine - 谷歌应用引擎 JRE 类 "Black List"

php - 选择月份中的日期在 30 到 15 之间的所有记录

mysql - 查找最小值列和最小值列名称