Bra*_*rad 3 heroku node.js express
我希望只能让来自非常特定域的请求由我在 heroku 上的节点应用程序成功提供服务。
我试过的代码是
app.use((req, res, next) => {
if (req.hostname === "example.com") {
next();
}
});
Run Code Online (Sandbox Code Playgroud)
结果 req.hostname 似乎是我的 heroku 应用程序服务器的名称......我已经查看了该req
对象的快速文档,但没有看到其他任何有希望的东西。
(我认为 IP 是一种可能性,但是流量来自的 IP 情况不时发生变化,我对此不了解。)
我觉得请求的域必须在某个地方......但也许我想要的是不可能的。
accept a request from example.com
是你把事情搞砸的地方。该请求不是来自example.com。该请求来自某台个人计算机,该计算机正在显示他们从 example.com 获得的网页。互联网上的任何人都可以加载和运行同一个网页。
身份验证通常是您限制谁可以访问什么的方式。您要求用户输入某种形式的凭据。您可以通过客户端 IP 限制访问(有各种限制),但您已经表明您认为这行不通。
限制谁可以访问您的服务器功能的常用方案是:
仅供参考,只要您的服务器不允许跨源请求(默认情况下不会),那么其他一些网站就无法通过浏览器访问您的服务器(浏览器会阻止它)。但是,任何脚本迷或黑客仍然可以。只有身份验证或 IP 过滤才能阻止黑客访问您的服务。
归档时间: |
|
查看次数: |
3666 次 |
最近记录: |