Giter Site home page Giter Site logo

Comments (4)

dougwilson avatar dougwilson commented on April 27, 2024 1

Hello, and thank you for your issue. You can already provide a function to do this if you like. CORS is not a security mechanism to only allow certain things; it is created by web browsers so they can take input from the server side to increase the sharing of the content. Endpoints that are relying on the Origin to implement security restrictions are completely outside of the CORS spec and that is not what CORS is for. This module is here to implement the CORS as specified by the whatwg (originally from w3c), which is not to deny when there is no origin.

from cors.

dougwilson avatar dougwilson commented on April 27, 2024

Sorry, I didn't mean to close this issue. If you can show where in the cors spec it shows the change you would like to see, we'd be happy to make the change to follow the spec.

from cors.

oscyp avatar oscyp commented on April 27, 2024

I wasn't aware that the implementation comes from the w3c spec. Thanks for letting me know.

In that case, we can close the ticket.

from cors.

dougwilson avatar dougwilson commented on April 27, 2024

No problem 👍 . I'm sorry I may have come off strong at first; many people create issues and even barrage with security vuluns this module without understanding the purpose of CORS. To elaborate a bit on this module, the idea is that if you app.use(cors()) you are basically saying that "yes, I want to share everything on this site" -- it is perfect for static content and similar. One would not want to also have curl requests and similar server-to-server requests blocked now because they are not a web browser and set an Origin request header.

The latest from the spec is this:

However, if Access-Control-Allow-Origin is set to * or a static origin for a particular resource, then configure the server to always send Access-Control-Allow-Origin in responses for the resource — for non-CORS requests as well as CORS requests

So it specificly states we should send it for non-CORS request too (which would be requests without Origin request header, for example). I hope that helps!

from cors.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.