php,html转义后插入数据库问题
答案:3 悬赏:20 手机版
解决时间 2021-03-26 14:13
- 提问者网友:夢醒日落
- 2021-03-25 15:07
php,html转义后插入数据库问题
最佳答案
- 五星知识达人网友:胯下狙击手
- 2021-03-25 16:40
首先两种方案都没多大问题,我个人倾向于存进去前就转义好,这样就不需要之后每次读出来的时候都转义,省一点性能
“万一我要查 quot 这个的时候不就是查出来了吗?”你的担心我认为是多余的,转义后的字符都是比较罕见的,我认为不太可能会需要查到追问库里面都是&+quot; 之类的东西,但我有个产品型号就是叫quot 这样的追答这里有个前置的问题,你确定你需要保留这些html代码么,如果不需要保留的话,其实可以在入库前用 strip_tags()都干掉
如果你真的有这么特殊的需求,那就没办法了,只能存原始数据、读的时候再来转义了追问客户输入产品型号的时候可能会输入 < > " 这些 转义后入库就变成 & + quot & + lt 之类的,偏偏有个产品型号就叫quot, 所以查询的时候本来不是查这个的都出来了,如果选择出库转义的话,一个页面太多数据了,每个都转一下,影响性能追答只是输入 < > 而不是html标签是吧,那就直接strip_tags(),就不用转义了
strip_tags 不会把单个的 < >去掉的,只会去掉完整的标签,比如
“万一我要查 quot 这个的时候不就是查出来了吗?”你的担心我认为是多余的,转义后的字符都是比较罕见的,我认为不太可能会需要查到追问库里面都是&+quot; 之类的东西,但我有个产品型号就是叫quot 这样的追答这里有个前置的问题,你确定你需要保留这些html代码么,如果不需要保留的话,其实可以在入库前用 strip_tags()都干掉
如果你真的有这么特殊的需求,那就没办法了,只能存原始数据、读的时候再来转义了追问客户输入产品型号的时候可能会输入 < > " 这些 转义后入库就变成 & + quot & + lt 之类的,偏偏有个产品型号就叫quot, 所以查询的时候本来不是查这个的都出来了,如果选择出库转义的话,一个页面太多数据了,每个都转一下,影响性能追答只是输入 < > 而不是html标签是吧,那就直接strip_tags(),就不用转义了
strip_tags 不会把单个的 < >去掉的,只会去掉完整的标签,比如
全部回答
- 1楼网友:毛毛
- 2021-03-25 18:06
一般都是过滤掉单双引号就可以了
即使是转义后 也只是把< 转义成 < 当从数据库中读取的时候 输入到页面以后 浏览器就会自动的显示<了追问网站对seo 要求很高,像 < a > > < / a >这样不行的 必需要 < a > & + gt; < / a >
即使是转义后 也只是把< 转义成 < 当从数据库中读取的时候 输入到页面以后 浏览器就会自动的显示<了追问网站对seo 要求很高,像 < a > > < / a >这样不行的 必需要 < a > & + gt; < / a >
- 2楼网友:不如潦草
- 2021-03-25 17:07
1、网上有很多防XSS的代码的, 你可以查下;
2、既然有查询时候的顾虑,可以在输出的时候用 htmlentities(应该是这么写)过滤下追问查过了,要么转义入库, 要么出库后转义
2、既然有查询时候的顾虑,可以在输出的时候用 htmlentities(应该是这么写)过滤下追问查过了,要么转义入库, 要么出库后转义
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯