首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用express和node.js获得原始域名?

问如何使用express和node.js获得原始域名?
EN

Stack Overflow用户
提问于 2016-10-12 21:23:56
回答 1查看 3K关注 0票数 0

我正在构建一个web应用程序,并希望通过获取请求源域名来添加限制,这样我就可以验证它是我的域还是其他人将使用我的数据。为了达到这个目的

代码语言:javascript
复制
var app = express();

app.all('*', function(req, res, next){
    var reqHeaders = req.headers;
    if( reqHeaders.origin === 'http://hotmail.com' ){
        next();
    }
    else{
        console.log('invalid domain: '+reqHeaders.origin);
    }
});

然后,我在windows上创建了一个虚拟域(127.0.0.1 hotmail.com),并由xampp设置它,我发送请求,并且惊讶地看到它允许它,即使您知道它不是真实的虚拟域。

什么是解决办法?我如何检查推荐人的真实身份,域名等?

顺便说一下,我在解析服务器应用程序中使用这个,如果解析服务器在应用程序级别上提供了什么,那么请告诉我。如果有可能在云代码中触发,那么也请告诉我。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-10-12 21:42:20

不能检查标头中提供的任何内容,至少可以使用自定义请求更改标头中的所有内容。

要防止请求,可以使用此中间件:

代码语言:javascript
复制
var app = express();

app.use(function(req, res, next){
    if(req.headers.origin !== 'http://hotmail.com' ){
        return next();
    }

    console.log('invalid domain: '+req.headers.origin);
    res.status(400).send();
});

但要检查,您必须使用一些服务,通过域名和检查请求ip,但这个过程是非常长的过程,可以让请求等待,当它得到服务的响应。

我建议您使用基于authentication/authorization的令牌,并将该令牌提供给其他请求方,这样就足够安全和快速了。

查看我的存储库:https://github.com/num8er/alttab-nodejs-challenge

您将看到基于令牌的auth和筛选的示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40008591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档