So I have a framework we’ve built on codeigniter. It uses regular codeigniter sessions by default which allows up to 4kb storage encrypted on a cookie.
Its for general apps that require a registration process, which can vary in size as questions are generated dynamically through an admin panel. Registration process relies on session data as it redirects throughout process.
I have used db_sessions in the past when I knew this would be an issue on the framework, however, I’m now considering the possibility to always have registration process using db_session and the rest of the site use the 4kb cookie session.
Is this possible. It seems like it could be a really bad idea, but I don’t really want to rework the dynamic registration process or really use db_session for whole site as it will eventually make the site run very slow if too many users are online at once.
so I’m think I can just set the variable in config to be true only when the registration controller is loaded(by checking the url via $_SERVER or the uri helper if I can load it in the config which I’m guessing I cant).
Does this seem plausible?
You answered your own question 🙂 You’ll have issues when the user switches from one page to another. What happens if they open multiple windows, press a ‘back’ button etc. You’ll need to switch the cookie over when they start registration, and switch it back at the end. It will be very very messy for basically no gain.
The reality is; your website has to be huge to have ANY real performance issues by using a DB for your sessions. Any if you are not using the DB, then you are relying on the cookie stored on the users computer. Depending on your site, this means they might have the ability to edit that cookie and change “admin = true” or something.
Just use the DB session – I think you are overcomplicating the situation.