4 ms·
Perl has a tainted mode where any outside data is marked as tainted. You can only detained it in specific ways. Copying the data from one variable to another ke
by bkor 10y ago
Perl has a tainted mode where any outside data is marked as tainted. You can only detained it in specific ways. Copying the data from one variable to another keeps the tainted flag.
Pretty much only explicit checks are able to remove the tainted flag from the data. As such you limit the security problems to faulty checks. It is impossible to forget to check something.
Above is used in Bugzilla. Despite all of that, it's still pretty easy to make mistakes. IMO it's rather unfortunate that not more languages have such a feature. This as Perl code if often pretty difficult to read (it doesn't have to be!).
- Illniyar 10y agowow, that's a really great idea. I'm surprised that other languages or even frameworks haven't picked that up. Maybe it can be pitched to Rust.
- jacobr1 10y agoA lot of frameworks have picked up the notion of "html safe" strings. But this is generally limited html escaping and display rather than SQL.