Should htmlspecialchars() be used on information on input or just before output?

后端 未结 2 1924
闹比i
闹比i 2020-12-21 04:13

I take $_POST information and store it in a DB and later on query and print this information to the user. Should I use htmlspecialchars() before inserting this info or after

相关标签:
2条回答
  • 2020-12-21 04:41

    Should I use htmlspecialchars() before inserting this info or after I query it before I output it?

    Escape data for the target code just before you insert it. i.e. Just before you output it.

    This means that you will keep the data in its original form for other purposes (e.g. outputting to the user for editing, including in an email, generating a PDF, searching, etc)

    In addition I need the ability for users to have the ability to use quotes and other everyday special chars. I know I can use the flag ENT_NOQUOTES but it feels like if I do that it leaves security holes.

    htmlspecialchars() will convert quotes in the inputted data into HTML. So you don't need to do anything special.

    My site allows Bbcode

    Then you need to have a proper BBCode parser.

    0 讨论(0)
  • 2020-12-21 05:01

    htmlspecialchars() is used before output to avoid XSS. And the database should better save the user's raw input.

    0 讨论(0)
提交回复
热议问题