Thanks and if GDMac is reading, I’ve taken a quick look at your Safecracker Lockdown extension, and while a solid effort and is defintely a step in the right direction - it’s still not going to solve our use case.
Particularly if you may want different settings for multiple forms.
This is actually what we’re doing, we’re got a news content submission form that accepts news stories from logged in journalists as-well as whistle blowing-style stories from anonymous users. Both needing to be moderated. The fact that we were able to sneak past the moderation queue was a red flag, regardless of whether or not a rule was set-up in the CP or tag pair - there shouldn’t be any circumstances were a rule can be overridden by the client.
That’s my big concern. The fact that any validation is within the view, no matter how secure it could ever be - and given that encrypted fields can already be fiddled with, means SafeCracker must be considered a genuine attack vector.
You end up with one big, nasty, useless to anyone else, hidden field. So that may be the route we take re: the bug.
Understandably that the EE architecture is different to that of CodeIgniters, but I would strongly suggest that the permeant fix be sought that does not store anything client side, encrypted or not. Similar to the CI route of placing any requirements in the controller, and not the view.
If we’re talking products and money? I’d personally go with option #1
In our case, we’re talking about real journalists livelihoods and possible persecution from government if an anonymous user was able to sneak something past the form, and assign to to a journalist’s member id, so security is big for us.
We’ve been working (and loving!) with CI since 2008, hence the pull to EE. We’d already worked in the past with pulling in custom CI controllers into EE, so our interim solution will be to do the same (bringing in CI form controllers into EE) for any form submissions on the site and completely remove SafeCracker from the development install.
The production site is still months upon months away (we’re not even begun writing the damn site! just performing some security assessments), so hopefully EE can sort something out in the upcoming months.