3 ms·
Rust addresses C/C++ security issues, but that's where the security benefits end (that's still a lot of benefits though!) I really wish "units of measure" type
by bsamuels 8y ago
Rust addresses C/C++ security issues, but that's where the security benefits end (that's still a lot of benefits though!)
I really wish "units of measure" types took off in the langdev world. "String" is woefully inadequate to describe the actual type of a string; Imagine a world where string data is of type <string:urlencoded> or <string:xsssanitized>, and display functions would only accept strings of the correct type. I know F# has this, but unfortunately it never caught on elsewhere.
- archgoon 8y agoWhat are the problems with using inheritance to handle this? class urlencoded extends String; class xsssanitized extends String; then secure functions can be explicit about what type they need. void embedInPage(xssssanitized xssString);
- tptacek 8y agoMost modern frameworks, in all the mainstream languages, already have this feature, and it's usually the default. You still get XSS because you still have to override the filter to do custom HTML, but it helps a lot.
- archgoon 8y agoRight; I'm trying to understand the difference between this and the "units of measure" approach the grandparent was referencing. (To be clear, your latter point is referring to things like 'dangerouslySetInnerHTML' in react?) https://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml https://reactjs.org/docs/dom-elements.html#dangerouslysetinn...