我創建單頁網頁應用程序與ArangoDB存儲。 Arango提供了訪問和操作數據的絕佳方法。其中之一是經典的JS API。在客戶端JS中編寫直接的DB查詢將是很容易的,這將直接對DB進行查詢。所以中間沒有服務器應用程序。安全分貝查詢單頁網絡應用程序
當然,這實在是不安全的模式。所以我應該編寫一些REST-full API服務,通過URL從服務器查詢數據,然後服務器查詢數據庫。但是這真的很不方便,因爲我需要編寫兩到三次的代碼(第一次查詢我的服務器,第二次查詢數據庫,並且可能在兩個查詢之間有一些轉換器)。另外,我認爲我的服務器的API調用看起來與針對數據庫的API調用幾乎相同。
我不想去完全抽象,因爲應用程序應該很複雜,並且會有很多類型的API請求,這隻會帶來bug並且會花費更多時間。
那麼從數據庫請求數據到客戶端應用程序的最佳方式是什麼,首先是安全性,其次是編碼的簡易性?
看來你的目標有衝突。編寫不安全的代碼非常容易。編寫安全代碼很困難。但你想要兩個。我認爲你應該更喜歡安全。否則,你會希望你的數據庫通過SQL注入被刪除之後。 – ray
如果你的目標是ArangoDB(看起來這個問題的標籤是這樣的),那麼[Foxx](https://www.arangodb.com/foxx/)。它是一個用於構建基於REST的應用程序的服務器端JavaScript框架,運行在ArangoDB內部。數據庫操作和查詢您的應用程序需求可以通過URL訪問,以便您的單頁應用程序可以直接調用它們。仍然可以控制可以運行的查詢,因爲您可以控制Foxx路由中的代碼。不需要使用Foxx編寫客戶端查詢,只需要使用常規的AJAX手段調用服務器URL即可。 – stj