let url = "http://localhost:8000/leadmanager/api/lead/";
axios.get(url)
.then(res => console.log(res.data))
.catch(error => console.log(error));
最初我得到了这个错误:
CORS策略阻止从来源“http://test.net”访问位于“http://localhost:8000/leadmanager/api/lead/”的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上没有“access-control-allog-origin”标头。
因此,我检查了文档,安装了django-cors-headers,并在cors_origin_whitelist中包含了Laravel网站的url。
CORS_ORIGIN_WHITELIST = [
"http://test.net"
]
CORS_ALLOW_HEADERS = [
'x-csrftoken'
]
CSRF_TRUSTED_ORIGINS = [
'http://test.net'
]
那么,如何配置Django的后端以允许来自Laravel的请求附加X-CSRF-Header?我不想修改Laravel的设置来不附加这些头文件,因为它们是Laravel为减轻CSRF攻击而实现的一个安全特性。
在参考@bak2trak指出的https://stackoverflow.com/a/32501365/10888237之后,我检查了Laravel应用程序从Chrome开发者控制台(Network选项卡)发出的请求头,请求头是“x-csrf-token和x-request-with”。因此,我修改了cors_allow_headers
以添加“x-requested-with”标头。
CORS_ALLOW_HEADERS = [
'x-csrf-token',
'x-requested-with'
]
它给出了一个不同的错误401[未授权],因此我删除了REST_Framework的默认身份验证类。
现在,请求终于可以通过了,我从Django后端获得了对Laravel的get请求的适当响应。
此外,客户机url http://localhost:8081被添加到KeeyCloak中的Web Origins中。不确定还缺少什么来让它工作。
我有一个应用程序与Spring-Boot一起提供服务。我已经为“API/...”添加了一些控制器--这些调用可以执行Angular Frontend需要的不同操作。我如何保护这些URL以便只有我的前端可以访问examlpe.com/api/...而不是每个用户?我不希望任何人能够访问examlpe.com/api/..但是他们应该能够访问example.com。 url example.com/a
问题内容: 我的产品使用Firebase rtdb,firestore,存储,身份验证和托管。我没有对我的CORS配置进行任何更改。但是,今天我在尝试将图像上传到存储并检索它们时开始出现以下CORS错误: 访问位于’ https://firebasestorage.googleapis.com/v0/b/diary-a77f6.appspot.com/o?name=images%2FJ1gU3KP
完整错误消息: CORS策略阻止从来源“http://localhost:3000”访问位于“https://api_url”的XMLHttpRequest:飞行前响应中的access-control-allog-headers不允许请求头字段x-requested-with。
CORS策略阻止了从来源'http://localhost:3000'获取'My InvokeURL'的访问:在飞行前响应中,Access-Control-Allow-Headers不允许请求头字段content-type。 我的目标是将POST请求取到API网关。我在网关控制台的选项响应中添加了Access-Control-Allow-Headers标头,其值为'Content-Type,X-A
问题内容: 我正在使用jersey作为我的静态API实现。在前端,我正在使用angularjs $ http服务发出http请求。当我请求删除方法时,我总是遇到以下错误。 我阅读了一些文章,他们说我需要允许在“ Access-Control-Allow- Methods”上进行删除。我已经如下设置了响应过滤器,但是它仍然存在这样的问题。我该怎么办? 以下是我提出要求的角度代码: 问题答案: 经过一