草庐IT

rack-cors

全部标签

ruby - 如何通过 Rack 提供静态文件?

我目前正在开发一个基于Rack的应用程序,并希望将所有文件请求(例如filename.filetype)重定向到指定的文件夹。Rack::Static仅支持对特殊文件夹(例如“/media”)的文件请求。我是否必须编写自己的Rack中间件或是否存在开箱即用的解决方案? 最佳答案 要将每个请求重定向到特定路径,请使用Rack::File(出于某种原因,最近的文档中没有此类,但它是stillpartof最新的Rack):runRack::File.new("/my/path")要重定向每个请求,并在目标目录中添加所有文件的HTML索引,

ruby - 什么是 Sinatra/Rack 的非常简单的身份验证方案

我正忙于将一个非常小的网络应用程序从ASP.NETMVC2移植到Ruby/Sinatra。在MVC应用程序中,FormsAuthentication.SetAuthCookie用于在针对数据库正确验证用户登录时设置持久性cookie。我想知道Sinatra中FormsAuthentication的等价物是什么?所有的身份验证框架看起来都非常庞大,并不是我真正想要的。 最佳答案 这是一个非常简单的Sinatra身份验证方案。我将在下面解释它是如何工作的。classApptrueregisterdodefauth(type)condit

ruby-on-rails - 什么是 Rack 中间件?

Ruby中的Rack中间件是什么?对于“中间件”的含义,我找不到任何好的解释。 最佳答案 作为设计的RackRack中间件不仅仅是“一种过滤请求和响应的方法”——它是pipelinedesignpattern的一个实现对于使用Rack的Web服务器.它非常清楚地分离了处理请求的不同阶段-关注点分离是所有设计良好的软件产品的关键目标。例如,对于Rack,我可以让管道的不同阶段执行以下操作:身份验证:请求到达时,用户登录详细信息是否正确?如何验证此OAuth、HTTP基本身份验证、名称/密码?授权:“用户是否被授权执行此特定任务?”,即

javascript - 将 'no-cors' 模式与获取 API 一起使用时,请求 header 未按预期设置

我有一个请求类型似乎正在改变的抓取,这弄乱了我的帖子。我提交我的基本表格(只有一个字段)。这是提取。handleSubmit(event,data){//alert('Anamewassubmitted:'+this.state.value);event.preventDefault();console.log("SUBMITSTATE::",this.state.value);return(fetch("//localhost:5000/api/values/dui/",{method:"post",mode:'no-cors',headers:{'Access-Control-Al

javascript - 对跨源资源共享 (CORS) 的工作方式感到困惑

根据我对CORS的了解,它是这样工作的:我有一个站点foo.com,它提供一个页面X。X想将数据发布到另一个域bar.com。如果bar.com启用了CORS(其header生成Access-Control-Allow-Originfoo.com),那么页面X现在可以将数据发送到bar.com。据我了解,要让CORS正常工作,一切都与在bar.com上进行设置有关,与foo.com无关。这一切都是为了确保bar.com不接受来自任何旧域的请求。但是这真的对我来说没有意义。我认为CORS旨在使foo.com能够决定允许X与谁通信。如果我们回到前面的示例,但这次X被狡猾的脚本破坏,因此它s

javascript - CORS - 服务器端 cookie 未保存在 chrome 浏览器中

有一个节点服务器在接受用户的正确凭据时,passportjs通过名为set-cookie的名称在请求header中创建并发送一个sessioncookie。但是当我从我的chrome浏览器中执行ajax请求时接受请求,它不会在客户端添加cookie。因此,当从客户端生成新请求时,服务器不会对其进行身份验证并抛出401。我很困惑这是浏览器问题还是我从AJAX请求中遗漏了一些东西请帮忙。 最佳答案 如果你使用'fetch',你需要添加一个键{headers:req.headers,credentials:'include'}

javascript - CORS 发布请求失败

我使用SLIM微框架构建了一个API。我设置了一些使用以下代码添加CORSheader的中间件。classCors{publicfunction__invoke(Request$request,Response$response,$next){$response=$next($request,$response);return$response->withHeader('Access-Control-Allow-Origin','http://mysite')->withHeader('Access-Control-Allow-Headers','X-Requested-With,Co

javascript - Angular 拦截器和 CORS

我正在尝试编写一个拦截器以使用Angular向所有HTTP请求添加一个token。我大致使用这里给出的食谱-https://thinkster.io/interceptors因此代码使用了http模块工厂和一个tokenInterceptor()函数。我可以成功地将token作为header添加到请求中-但现在当它通过拦截器时,它会被某种CORS阻塞机制阻塞。我在Chrome控制台中收到此错误-XMLHttpRequestcannotloadhttp://127.0.0.1:/.Responsetopreflightrequestdoesn'tpassaccesscontrolchec

javascript - Cloud Functions for Firebase 在 CORS 预检请求上触发功能

我有一个云功能,可以验证来自客户端表单提交的输入。我正在为Firebase使用CloudFunctionshttpstriggers与corsexpressmiddleware.Firebase函数constfunctions=require('firebase-functions');constexpress=require('express');constcors=require('cors')({origin:true});constvalidateImageForm=require('./library/validate-image-form');exports.apiVali

javascript - AngularJS:无法发送带有适当 CORS header 的 POST 请求

我正在使用AngularJS创建一个网络应用程序。为了测试它,我在NodeJS服务器中运行该应用程序,使用angular-seedtemplate.在此应用中,我需要通过POST请求向另一台主机发送JSON消息,并获得响应,因此,我使用CORS.我的请求是通过实现一个使用AngularJShttpservice的服务来完成的(我需要$http提供的抽象级别。所以,我不使用$resource)。在这里,我的代码。请注意,我修改了$httpProvider以告诉AngularJS使用适当的CORSheader发送其请求。angular.module('myapp.services',[])