While the Link/Form Encryption request
has received a lot of votes, it's generally been kind of a sleeper request in that not many people were very vocal about it. This makes sense, since the people doing high enough volume for it to be a problem typically implemented another solution such as verifying via the XML datafeed.
Recently, however, people have been asking a bit more frequently. We've had a solution mapped out for a long time (2.5 years is when we wrote out the initial plan), and we've implemented it for inclusion in a future release (probably our next).
To that end, we'd like to share the documentation for this solution prior to its release to get some feedback.
A few things to note:
- Nobody else we've ever seen or heard about has done anything close to the "form" method we've built. Yes, it seems like overkill and is potentially confusing, but before you knock it please try to think of how to take a form with 10 select boxes, each with 5 values, and validate that using another method. We _THINK_ it's the best solution at this point, balancing ease of implementation with the myriad possibilities, it's possible we've missed something.
That said, if you read it thinking, "Wow, I think it could be way simpler," please let us know where you had that thought, and how you think it _should_ be implemented. Again, it's possible we've missed something, but there really is a reason for it being implemented the way it is, and we'd like to address those types of thoughts in the documentation just so everybody understands the rationale as they're processing the docs in the firs tplace.
- HMAC is a very established standard, but it isn't available in PHP4 by default. You'd need PECL or something. Since PHP4 is not really the default version on 99% of the hosting plans out there, we don't feel like this is an issue. Other languages like Python, Ruby, and .NET all have readily available implementations. We chose SHA-256 over other hashing algorithms because we figured that if you have access to HMAC you likely have access to SHA-256, and we might as well go with it to make things that much more secure (even though SHA-1 would be fine for basically all intents and purposes). More on HMAC over straight hashing
. Interesting stuff worth understanding.
- We've tried to make the documentation both complete and approachable (if long). We really want this to be easily understandable and accessible to even the "average" web designer with no real programming experience. Please let us know where you get stuck or if something's confusing.
So that said, please read it over and share your thoughts. We're here to serve our users, and we believe that this solution will be a very Good Thing, but we always want as much dialog as possible. Thanks!