当前位置: 首页 > 面试题库 >

启用了CORS的服务器不拒绝请求

裘兴思
2023-03-14
问题内容

我试图在我的resitfy服务器上使用Express
Cors,但它似乎并未拒绝来自其他IP的请求。我在本地工作,所以我尝试将来源设置为随机的公共IP,但我的所有请求仍在处理中

这是我的路线:

module.exports = function(app) {
    var user = require('./controllers/userController');
    var cors = require('cors');
    var corsOptions = require('./cors.json');


    app.post('/auth/signup', cors(corsOptions),user.createUser);
    app.post('/auth/login', cors(corsOptions), user.validateUser);
    app.post('/auth/generateKeys', cors(corsOptions), user.generateKeys);
    app.post('/auth/generateToken', user.generateToken);
};

这是我的cors.json文件,其中设置了随机IP:

{
    "origin": "http://172.16.12.123",
    "optionsSuccessStatus": 200,
}

在路线上设置了cors后,我可以在邮递员中看到以下内容,但请求仍在处理中?我希望访问被拒绝。

Access-Control-Allow-Origin→ http://172.16.12.123


问题答案:

单独的CORS配置不会导致服务器拒绝来自任何IP的请求。您不能仅通过CORS配置来做到这一点。

当您配置带有CORS支持的服务器时,服务器所做的唯一不同就是仅发送Access-Control-Allow- Origin响应标头和其他CORS响应标头。而已。

跨域限制的实际实施仅由浏览器完成,而不由服务器完成。

因此,无论您在服务器端进行任何CORS配置,服务器都将继续接受来自所有客户端的请求,否则将继续起源。换句话说,所有来源的所有客户端仍然继续从服务器获取响应,就像他们本应那样。

但是,如果发送请求的服务器通过响应允许该来源的标头来选择允许请求,则 浏览器
只会将跨域请求的响应公开给在特定来源运行的前端JavaScript代码Access-Control-Allow-Origin

那是使用CORS配置可以做的唯一事情。您不能仅通过执行任何服务器端CORS配置就使服务器仅接受并响应来自特定来源的请求。为此,您需要使用的不仅仅是CORS配置。



 类似资料:
  • 我对PHP和XAMPP相当陌生。我现在正在用我的电脑开发Java和php。所以我的计算机中已经安装了mysql服务器。我成功地安装了xampp。但是当我试图访问phpMyAdmin时,它给我一个错误,说 (这不是实际错误,但这是它的意思..) 我尝试停止当前的MySQL服务并重新安装它。我尝试配置config.inc.php,我认为这是一种实现这一点的方法。但我对此无能为力。 谁能告诉我如何配置和

  • 问题内容: 我在端口5000的node.js服务器上设置了CORS,如下所示: 我现在正尝试像这样在从硬盘打开的静态网页中使用JQuery发送AJAX POST请求: 该函数从不调用,并且我得到的唯一警报是来自XHR 处理程序的警报,其中包含以下错误: 我认为CORS配置合理, 我缺少什么? 编辑 :对于我而言,我能找到的最佳解决方案是从服务器发送页面: 问题答案: 这是我正在使用的代码。它位于我

  • 你好,我是爱奥尼亚的新手。我想打电话给爱奥尼亚的邮政服务,但我总是遇到这个错误;"" 加载失败http://mywebservice.com/api:对飞行前请求的响应未通过访问控制检查:当请求的凭据模式为“包括”时,响应中的“访问控制允许原点”标头的值不得为通配符“*”。起源http://localhost:8100因此不允许访问。XMLHttpRequest发起的请求的凭据模式由withCre

  • 寻找类似问题的堆栈溢出解决方案并没有解决我的问题,所以希望分享我目前的经历来帮助调试这个问题。 那么一个小小的序言;几天前,我最初安装了minikube/kubectl。今天我继续尝试学习minikube教程,现在遇到了一些问题。我在看迷你入门指南。 我在苹果电脑上。我的版本: $ kubectl版本 $minikube版本 $ vboxmanage --version 以下是我尝试检查响应的一系

  • 我正在尝试在windows server 2008 R2上使用Apache 2.4服务器配置Git服务器。 我将它添加到httpd.conf文件中: 我在中创建了一个存储库。我键入以下命令,用远程机器克隆它: 我收到了以下错误: 在我的阿帕奇错误中.log我可以看到这个: 我想知道这是不是因为我没有匿名访问git服务器的权限? 我需要自动创建用户来使用git服务器吗? 这个问题不能帮助我解决我的问

  • 在使用SQOOP将数据从Impala加载到Vertica时,我遇到了以下错误。 错误:java.io.ioException:无法导出数据,请在org.apache.sqoop.mapreduce.textexportMapper.map(textexportMapper.java:112)在org.apache.sqoop.mapreduce.textexportMapper.map(texte