簡體   English   中英

[NodeJS] 我的后端代碼安全嗎?

[英][NodeJS]Is my backend code secured?

我想在 NodeJS 上創建一個簡單的站點。 例如,它有兩個文件(app.js - 主應用程序文件)和 router,js(一個 url 文件)。 我想知道 - 是否任何人都可以訪問 mydomain.com/router.js 來獲取我的應用程序的源代碼? 我問的是因為例如在 PHP 中你不能訪問 php,因為你知道服務器只是給你這個 PHP 文件的工作結果,而不是文件本身。 那么,如何使我的 nodejs-app 不可見以供公共訪問? 謝謝!

這取決於您如何使用 Node.js 以及您在它前面的 web 服務器使用什么。 與 PHP 作為 CGI 或作為模塊運行在 Apache 不同,node 和 node 應用程序本身是一個服務器。 如果您的網絡服務器暴露了您的節點源目錄,那么您在問題中提供的 url 很可能會導致提供您的源代碼。 即使您使用 Apache 並代理到節點,通常也不涉及 output 過濾器。 相反,請求被傳遞到解釋它們的后端節點服務器。

我確保 Node.js 的所有文件永遠不會位於由另一個 web 服務器(例如 Apache)提供服務的路徑中。這樣一來,源文件被意外提供服務的危險就很小。

我的節點程序和文件 go 在 /var/nodejs 中,節點中的每個應用程序都有一個子文件夾。 當然,默認情況下,除非您告訴它,否則 Node 不會提供任何服務。

在我的 Apache 配置的根目錄下,我確保所有文件夾都是安全的,這樣我就必須明確地在任何文件夾結構上啟用服務,即使在我用於所有 Apache 站點的 /var/www 文件夾下也是如此。

因此,只要您將文件夾分開,默認設置 Node 和 Apache 就非常安全。 此外,Node 不會意外提供源代碼,您必須設置一個 Node 服務器,將文件作為文本讀取並將其寫入 http stream。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM