2 ms·
I mean yes, but you're missing the point. "Build HTML, parse HTML into DOM, render" is inherently a much riskier proposition than "Build DOM, render", because y
by Nullabillity 3y ago
I mean yes, but you're missing the point. "Build HTML, parse HTML into DOM, render" is inherently a much riskier proposition than "Build DOM, render", because you're relying on your escape function working correctly and matching the parser.
- recursivedoubts 3y agoyou can build HTML however you want on the server string templates work fine for lots of people (xss was/is a solved issue w/ escaping, but whatever) but if you want to use a DOM builder, or some sort of reactive mechanism, go head my dude and that's leaving aside the danger of exposing so much application logic on the client side (an untrusted computing environment) inherent in SPAs, things like GraphQL, always revalidating server side (do you always remember to?) etc. https://intercoolerjs.org/2016/02/17/api-churn-vs-security.html https://intercoolerjs.org/2016/02/17/api-churn-vs-security.h... the idea that securing hypermedia driven applications is hard is dumb, it's been done successfully for decades now
- Nullabillity 3y ago> you can build HTML however you want on the server And you're still not reading. The DOM is useless on the server, you still need to serialize and parse it. > the idea that securing hypermedia driven applications is hard is dumb, it's been done successfully for decades now And yet, TFA is doing it wrong in an example meant to showcase the virtues of HTMX.
- recursivedoubts 3y agothe DOM isn't useless on the server if you take that DOM that you've built up, serialize it and send it where exactly are you expecting the attack vector to occur? between when you serialize the DOM you've built up and sent it across the wire? > And yet, TFA is doing it wrong in an example meant to showcase the virtues of HTMX. is it? i thought it was showing off some HTML generation thing they are working on in PostgREST. yeah, they are gonna need to get their HTML generation working w/escaping if they want people to really use it to generate HTML, like all the other HTML generation tools do...
- Nullabillity 3y ago> where exactly are you expecting the attack vector to occur? between when you serialize the DOM you've built up and sent it across the wire? I'm expecting there to be some minor mismatch between what the serializer considers worth escaping, and what the parser considers to have some special meaning. > the DOM isn't useless on the server if you take that DOM that you've built up, serialize it and send it Exactly...?