2014-07-24 48 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處理:

第一個引用谷歌卡哈(末),以及第二點指向來自節點的清理模塊,這可能對您有用,具體取決於您的上下文。

但是,如上所述(並在鏈接中),在客戶端運行可能會暴露所有這些給您的用戶,並允許他們直接進入並篡改您的數據庫。