PriorProject,

I thought that was the first rule of rendering web content? Or was it protocol parsers?

I remember, it was first rule of video game character creation screens:

choose wisely: wisely

Evil_Shrubbery,

All your base are drop to us!

CIA_chatbot,

Ahh yes, the little Bobby tables rule

TheSaneWriter,
@TheSaneWriter@lemmy.thesanewriter.com avatar

Honestly, this is a good rule for programming in general. With user input, make sure it’s in its own area where it can’t interact with anything else and make sure to read and process in such a way that it can’t fuck with the operation of the program.

kevincox,
@kevincox@lemmy.ml avatar

It should be the first rule of building any formatted string. I see code daily building HTML, JSON, CSS, CSV, shell scripts or whatever just by bashing strings together. If you are lucky they do some form of escaping most of the time.

Really we should get in the habit of using proper encoders. Don’t think of these types as just strings you can substitute into, use some library that will actually write these things properly. Thankfully JS has JSON.stringify and good object literals so at least you don’t see shitty JSON encoding often (just sometimes when embedded in HTML). I wonder if adding string interpolation was a mistake. It makes it so easy to do the wrong thing. Of course there are cases where you want to format Hello ${user.name} or other human readable strings. But more often than not I see it being used incorrectly.

howdy,
Evil_Shrubbery,

I also satanise every input I can, as an extra level of security.

parpol,

What’s even the worst that could happen? ’ OR 1=1 –

z3n0x,
IlllIIIlllIlllI,

Sometimes you know before opening the comments what the top one will be

galaxies_collide,

Second rule of SQL: Never trust user input. Third rule of SQL: Never trust user input.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • programmer_humor@programming.dev
  • DreamBathrooms
  • magazineikmin
  • everett
  • InstantRegret
  • rosin
  • Youngstown
  • slotface
  • love
  • khanakhh
  • kavyap
  • tacticalgear
  • GTA5RPClips
  • thenastyranch
  • modclub
  • megavids
  • mdbf
  • normalnudes
  • Durango
  • ethstaker
  • osvaldo12
  • cubers
  • ngwrru68w68
  • tester
  • anitta
  • cisconetworking
  • Leos
  • provamag3
  • JUstTest
  • All magazines