【发布时间】:2018-01-24 17:29:52
【问题描述】:
我希望能够只让来自非常特定域的请求由我在 heroku 上的节点应用程序成功处理。
我试过的代码是
app.use((req, res, next) => {
if (req.hostname === "example.com") {
next();
}
});
原来 req.hostname 似乎是我的 heroku 应用服务器的名称...我查看了 req 对象的快速文档,但没有看到任何其他有希望的东西。
(我认为 IP 是一种可能性,但流量来自的 IP 情况会不时发生变化,而我不在这方面的循环中。)
我觉得请求的域必须在某个地方......但也许我想要的不可能。
【问题讨论】:
-
浏览器流量“来自”用户的计算机,而不是来自域。不知道你在这里的意思。
-
好的。我有一些从这个节点应用程序获取 json 的 jQuery。所有的请求都来自校园内的一个系统,我希望锁定应用程序只接受来自该系统的请求
-
你为什么不使用一些你只与那个系统共享的密码呢? “请求域”是什么意思?
-
我没有正确使用术语,这并不让我感到惊讶,我的错。因此,如果我的客户端代码位于 www.example.com/funstuff.html 页面上,我希望明确接受来自 example.com 的请求
-
密码在这种情况下不起作用,因为该页面是供公众使用的。我的节点应用程序正在使用第 3 方 api,我只是想知道是否可以通过仅允许来自特定位置的请求来保持他们的数据更安全。这不是一个严格的要求,但我认为这可能很容易做到并且值得。