使用Google App Engine时需要解决哪些安全问题?

7

我一直在考虑在一些业余项目中使用Google App Engine。虽然它们不会处理任何敏感数据,但出于多种原因,比如学习安全性、法律等,我仍然希望使它们相对安全。

在使用Google App Engine时需要解决哪些安全问题?

它们与其他应用程序(如使用其他语言编写或以其他方式托管的应用程序)面临的问题是否相同?

编辑:我进行了一些搜索,看起来我需要为XSS和注入清理输入。还有哪些事情需要考虑?

2个回答

7
“消毒”输入并不是避免查询注入和标记注入问题的方法。在输出阶段使用正确的转义形式,或者更好的方法是使用一个处理这些问题的高级工具。
因此,为了防止GQL的查询注入,请使用GqlQuery的参数绑定接口。为了防止HTML的标记注入(导致XSS),请使用你正在使用的任何模板语言的HTML转义功能。例如,对于Django模板,使用|escape...或者更好的是{% autoescape on %},这样你就不会意外地漏掉一个。

感谢您提供的精彩信息,这正是我一直在寻找的。还有其他需要考虑的漏洞吗? - Ocimus
2
当然,这取决于你在做什么,不是吗?如果你允许用户提交链接,最好检查URL是否是已知的良好方案,如http而不是javascript... 如果允许文件上传,最好将它们保存在安全名称下,而不是用户提交的名称... 不要从主机名提供用户提交的文件... 不要在system命令或eval中使用用户提交的数据...等等。 - bobince
3
实际上,即使您的代码相当糟糕,GQL注入攻击也几乎不可能发生,因为攻击者只能添加额外的条件到SELECT语句中。这并不是说您不应该使用参数绑定,但它与SQL相比不是那么严重的问题。 - Wooble

-2
一般来说,存在相同的问题。此外,谷歌“知道”你的代码,并理论上可以监控代码正在执行的任何操作。因此,如果你想防止他们读取你的数据,这非常困难。 但我不认为他们有时间和资源如此密切地监视你的代码和数据。

我并不真正担心谷歌“知道”我的代码或阅读我的数据,如果我的问题似乎是在传达这一点,那么我很抱歉。我更关心的是安全问题,这可能会使我的应用程序容易受到漏洞攻击,例如XSS和SQL注入,特别是对于谷歌应用引擎而言独有的安全漏洞。您有什么建议可以让我修改我的问题,以更好地传达这一点吗?无论如何,感谢您的答案。 - Ocimus
2
我想说,Google应用引擎没有特别的安全风险需要您反击。Google只是像其他任何主机一样托管您的代码。如果他们的系统有漏洞,您无能为力。 - kasten

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接