I have an encrypted, base64 encoded array that I need to put into a url and insert into emails we send to clients to enable them to be identified (uniquely) – the problem is that base64_encode() often appends an = symbol or two after it’s string of characters, which by default is disallowed by CI.
Now I understand I can allow the = sign in config.php, but I don’t fully understand the security implications in doing so (it must have been disabled for a reason right?)
Does anyone know why it might be a bad idea to allow the = symbol in URLs?
Thanks!
John.
Not sure why
=is disallowed, but you could also leave off the equals signs.The base64 spec only allows
=signs at the end of the string, and they are used purely as padding, there is no chance of data loss.Edit: It’s possible that it doesn’t allow this as a compatibility option. There’s no reason that I can think of from a security perspective, but there’s a possibility that it may mess with query string parsing somewhere in the tool chain.