Express.js 文件在部署到服务器时如何不公开?
How are Express.js files not exposed when deployed to the server?
这看起来像是一个 odd/broad 问题,但服务器如何知道不呈现 Express.js 文件并且不暴露类似于任何人可以看到 javascript 的内容文件,并读取正在执行的脚本。像 Heroku 这样的节点服务器会保护它们吗?对不起,刚刚表达和节点。它类似于 PHP syntax/scripts 在 Apache 服务器中的隐藏和保护方式吗?
这取决于服务器配置。在配置不当的服务器上,可能可以访问 .js 文件。
使用 nodejs/expressjs 服务器,您 define a base folder that contains public files,例如public
和 public 文件夹之外的文件不可见,因为服务器不向外部提供它们。如果您配置了错误的目录,例如.
,那么 expressjs 代码文件将可供浏览器使用,并按原样呈现给浏览器,可能会泄露不安全的数据,如配置、密码等。由于默认配置和所有代码示例都确保 public
被定义为 public 文件夹,因此意外错误配置的风险很低。
如果您 运行 在同一台主机上安装 apache httpd 或其他网络服务器,则必须确保节点应用程序 不在 任何虚拟主机的 webroot 中,否则这些文件也可能是可见的,因为对于 apache httpd 它们看起来也像简单的静态文件,可以按原样发送到浏览器。
它不同于 PHP 文件,至少在 apache httpd 或 nginx 的情况下是这样,因为它们通常被配置为 PHP 文件是要执行的文件,而不是要执行的静态文件被提供给外面。但是,如果 apache httpd 或 nginx 不知道 PHP,因为它没有安装或没有配置,那么 webroot 中的 PHP 文件也会显示给 public 原样。使用 .htaccess 文件可以防止显示 apache httpd 的文件。
这看起来像是一个 odd/broad 问题,但服务器如何知道不呈现 Express.js 文件并且不暴露类似于任何人可以看到 javascript 的内容文件,并读取正在执行的脚本。像 Heroku 这样的节点服务器会保护它们吗?对不起,刚刚表达和节点。它类似于 PHP syntax/scripts 在 Apache 服务器中的隐藏和保护方式吗?
这取决于服务器配置。在配置不当的服务器上,可能可以访问 .js 文件。
使用 nodejs/expressjs 服务器,您 define a base folder that contains public files,例如public
和 public 文件夹之外的文件不可见,因为服务器不向外部提供它们。如果您配置了错误的目录,例如.
,那么 expressjs 代码文件将可供浏览器使用,并按原样呈现给浏览器,可能会泄露不安全的数据,如配置、密码等。由于默认配置和所有代码示例都确保 public
被定义为 public 文件夹,因此意外错误配置的风险很低。
如果您 运行 在同一台主机上安装 apache httpd 或其他网络服务器,则必须确保节点应用程序 不在 任何虚拟主机的 webroot 中,否则这些文件也可能是可见的,因为对于 apache httpd 它们看起来也像简单的静态文件,可以按原样发送到浏览器。
它不同于 PHP 文件,至少在 apache httpd 或 nginx 的情况下是这样,因为它们通常被配置为 PHP 文件是要执行的文件,而不是要执行的静态文件被提供给外面。但是,如果 apache httpd 或 nginx 不知道 PHP,因为它没有安装或没有配置,那么 webroot 中的 PHP 文件也会显示给 public 原样。使用 .htaccess 文件可以防止显示 apache httpd 的文件。