php – htmlspecialchars()是否应该用于输入信息或输出之前?

获取$_POST信息并将其存储在数据库中,稍后查询并将此信息打印给用户.我应该在插入此信息之前使用htmlspecialchars(),还是在输出之前查询它?

此外,我需要用户能够使用引号和其他日常特殊字符的能力.我知道我可以使用ENT_NOQUOTES标志,但感觉如果我这样做会留下安全漏洞.

我的网站允许Bbcode,我希望用户能够使用日常字符,而不必看到“amp; lt;& lt;?& gt;&”.

鼓励我和<--- noob鼓励!
感谢:D

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

在插入目标代码之前转义目标代码的数据.即在输出之前.

这意味着您将数据保留为其原始形式以用于其他目的(例如,输出用户进行编辑,包括在电子邮件中,生成PDF,搜索等)

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()会将输入数据中的引号转换为HTML.所以你不需要做任何特别的事情.

My site allows Bbcode

然后你需要一个合适的BBCode解析器.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...