2012-04-07 34 views
0

我想在NodeJS上創建一個簡單的站點。例如,它有兩個文件(app.js - 主應用程序文件)和路由器,js(一個url文件)。我想知道 - 如果任何人只要訪問mydomain.com/router.js就可以獲得我的應用程序的源代碼?我問,因爲你不能訪問PHP,因爲你知道服務器只是給你這個PHP文件的工作結果,而不是文件本身。那麼,如何讓我的nodejs-app對公衆訪問不可見?謝謝![NodeJS]我的後端代碼是否安全?

+1

您創建node.js中一個HTTP服務器你只會暴露你的代碼暴露的內容,所以除非你編寫愚蠢的代碼,否。 – Raynos 2012-04-07 15:52:54

回答

0

我要確保對Node.js的所有文件都從未被另一個Web服務器提供服務,如Apache的路徑。那樣的話,源頭就不會偶然發生危險。與子文件夾中的每個節點應用

我節點程序和文件的存放在/ var /的NodeJS。當然,默認情況下,除非您告訴Node,否則Node不會提供任何服務。

在我的Apache配置的根,我要確保所有文件夾固定,這樣我明確必須啓用即使在我使用的所有Apache的網站在/ var/WWW文件夾服務上的任何文件夾結構。

那麼,你是與節點和Apache的默認安裝非常安全的,只要你保留這些文件夾分開。此外,Node不會意外地提供源代碼,您將不得不建立一個Node服務器,將該文件讀取爲文本並將其寫入http流。

0

這取決於你如何使用Node.js的,你用的是什麼在它前面的Web服務器。與作爲CGI運行的PHP或作爲Apache中的模塊不同,節點和節點應用程序本身是服務器。 如果您的網絡服務器暴露了您的節點源代碼目錄,那麼您在問題中提供的網址很可能會導致您的源代碼被投放。即使你使用Apache和代理節點,通常也不會涉及輸出過濾器。而是將請求傳遞給解釋它們的後端節點服務器。