Adam Williams
Established Member
I've just spent the last ten minutes wasting my time on this before being given a simple email address which could've saved me all the bother initially.
CrossCountry has a form that customers can fill in, but clearly whoever is responsible for the form didn't know how to mitigate SQL injection - because they've "fixed" this security problem by forcing the customer not to type apostrophes (ends a quoted string), percent signs (can be used in a LIKE query), semicolons (ends a statement) or dashes (comments out a statement) in their comment. The only problem: Semi-colons and apostrophes are entirely normal characters to type in English! We use them in possessive plurals and contractions all the time!

Nobody competent would design a form like this.
After I'd wasted the time removing all of the banned characters, I initially got a completely blank HTTP "Bad Request" response, with no way to recover the entered text and no explanation as to what had gone wrong:

I hit back and the form was completely empty with all of the input I had entered gone.
I managed to recover what I typed (which I don't think most users would be able to do) and tried the whole process again in a different browser without any "bad" characters:

Useless.
The cynical part of me concludes this is entirely deliberate, with the aim of reducing customer correspondence so that it simply doesn't need to be dealt with. Who is going to persist through all of this nonsense, and re-entering their complaint three times to get correspondence to actually be sent?
CrossCountry has a form that customers can fill in, but clearly whoever is responsible for the form didn't know how to mitigate SQL injection - because they've "fixed" this security problem by forcing the customer not to type apostrophes (ends a quoted string), percent signs (can be used in a LIKE query), semicolons (ends a statement) or dashes (comments out a statement) in their comment. The only problem: Semi-colons and apostrophes are entirely normal characters to type in English! We use them in possessive plurals and contractions all the time!

Nobody competent would design a form like this.
After I'd wasted the time removing all of the banned characters, I initially got a completely blank HTTP "Bad Request" response, with no way to recover the entered text and no explanation as to what had gone wrong:

I hit back and the form was completely empty with all of the input I had entered gone.
I managed to recover what I typed (which I don't think most users would be able to do) and tried the whole process again in a different browser without any "bad" characters:

Useless.
The cynical part of me concludes this is entirely deliberate, with the aim of reducing customer correspondence so that it simply doesn't need to be dealt with. Who is going to persist through all of this nonsense, and re-entering their complaint three times to get correspondence to actually be sent?