我正在使用React和Node.js编写应用程序。对于我的服务器,我正在使用Express和dotenv
包来隐藏我的服务器配置,例如PORT,这是后端服务器运行的端口号。例如,我的服务器具有以下环境变量PORT=5000
。
在我的前端中,其中一个组件具有一个<a>
,它链接到后端服务器的根路由'/'
。当按下此链接时,浏览器将加载服务器的根路由。例如,我的React组件呈现以下链接<a href="http://localhost:5000/">Login</a>
。
将服务器的端口5,000直接编码到我的React组件的链接中是否是错误的做法?
这里重要的是,您的服务器不受外部攻击的影响。如果您的服务器在这方面是安全的,则它已经有一个公共IP地址,并且恶意分子将对其进行端口扫描并找到任何响应的服务器,因此公开端口号不会有任何额外危害。就像经常说的那样,晦涩反正不是安全。
此外,在不公开服务器端口号的情况下,世界上没有可以使用的TCP服务器。这就是TCP的工作方式。因此,如果要将服务器完全暴露给外部世界,则只需保护它即可。而且,无论如何您都无法从端口扫描程序中隐藏端口号。
因此,对您来说更大的问题是,鉴于互联网上的随机人都可以知道其公共IP地址和端口,您的后端服务器是否安全?