2014-07-24 46 views
1

我正在设置Google Cloud MySQL实例(但如果这不合适,我愿意使用其他任何东西) 我只能通过Javascript访问数据库,因为我可以在没有它的情况下运行javascript显示给最终用户,所以我不担心数据库凭证会泄漏。 (这是通过运行Javascript Web Hook服务实现的,JavaScript通过服务自己的服务器运行,而不是在客户端初始化,它甚至可以是CRON作业,因此不需要客户端访问)请尽管目前这不是重点是我的问题,是的我再次知道这是远远不够理想Cloud SQL with Javascript

我主要关心的是SQL注入。我来自一个PHP背景,它有一个用于数据库交互的精彩的清理设置。当然,JavaScript不会。 有没有其他设置会像Google Cloud SQL那样为我处理卫生消毒?

请不要告诉我这个设置有多糟糕。我仅限于使用JavaScript从HTML表单进行数据库交互。我知道这是很不理想,但是这就是为什么我问,如果有什么,将是合适的,或者如果我吠叫了WRO

+0

“我可以在没有它显示给最终用户的情况下运行javascript” - 你确定*吗? –

+0

这由另一项服务处理。我的意思是,JavaScript不需要在客户端运行,我使用的服务将安全地运行JavaScript。再次我知道这不是理想的,但这不是我的问题在这个阶段的重点 – Somk

+0

+1对于注意事项和套期保值!不是直接的答案,而是缓解;考虑在JS和Sql服务器之间使用代理。我专业使用的一个是[greensql](http://www.greensql.com/product/database-security)[付费]。这非常好,并且阻止了我们模拟的大多数注入攻击(在观察足够的时间来学习使用模式之后)。如果没有FOSS替代品,我会很惊讶。 – Basic

回答

1

这些描述一些策略与santizing从JavaScript处理:

第一个引用谷歌卡哈(末),以及第二点指向来自节点的清理模块,这可能对您有用,具体取决于您的上下文。

但是,如上所述(并在链接中),在客户端运行可能会暴露所有这些给您的用户,并允许他们直接进入并篡改您的数据库。