Coder Social home page Coder Social logo

Comments (9)

sv3tli0 avatar sv3tli0 commented on July 28, 2024

++

Projects as "letsencrypt.org" soon will give a free valid HTTPS option for all websites.
1 Route, Route Group or even the how app should has option to support only HTTPS requests. (perhaps the app should make and a proper redirection to HTTPS in all cases when the server doesn't do that at 1st place).
Its a good way to motivate people to push their apps to HTTPS and with that this will help improving security all over the net..

You know that some big companies are forcing anyone who is using their systems to have HTTPS already and this is 1 big +. In CI case of course it should be optional.

from codeigniter4.

narfbg avatar narfbg commented on July 28, 2024

A possibly helpful note: If you choose to do this via an HTTP redirect, make sure to use the 308 status code, which preserves the request method, i.e. won't change a POST to GET and destroy a submitted form's data.

https://tools.ietf.org/html/rfc7238

from codeigniter4.

lonnieezell avatar lonnieezell commented on July 28, 2024

@narfbg Excellent reminder. I probably would have forgotten that. Thank you.

from codeigniter4.

lonnieezell avatar lonnieezell commented on July 28, 2024

Notes to self:

  • The SessionID must be regenerated when we switch from HTTP to HTTPS.
  • Should attempt to use HTTP Strict Transport Security to enforce the switch. (Need to verify browser support)

from codeigniter4.

lonnieezell avatar lonnieezell commented on July 28, 2024

@narfbg As far as I can tell 308 is still not approved. Seems Firefox at least supports it, but unsure of the rest of the browsers. Looks like Google had a 308 used for resumable requests in their now-defunct Gears project. I cannot find a list of browser support for the different status codes.

Are you aware of a resource that tells us how much support 308 can expect? I'm currently using the default redirect option of 302/307 depending on request type but would like to move to 308 if we know it's supported.

from codeigniter4.

narfbg avatar narfbg commented on July 28, 2024

Hmm ... looks like I've overlooked the status of that RFC.

Experimental basically means that research and development efforts are in progress, but you can't reasonably expect support for it in production. For this one in particular, browsers should fallback to another 3xx code if they encounter a 308 and don't understand it, but some may refuse to process it at all.

from codeigniter4.

lonnieezell avatar lonnieezell commented on July 28, 2024

Alright, I'll leave this to the default 302/307 option, then, and we can keep an eye on things in the future. Thanks.

from codeigniter4.

narfbg avatar narfbg commented on July 28, 2024

On another note, this end result may be for the best in this particular case.

If there's e.g. a CSRF token in the message body for an unencrypted POST request, it's probably not a good idea to just redirect the same message body contents to a secure connection - we just had it over a non-httpS one, so it may've been intercepted. Better let the page generate a new token to be used under httpS. :)

from codeigniter4.

lonnieezell avatar lonnieezell commented on July 28, 2024

Oh dang. Yeah, good call! :)

from codeigniter4.

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.