php 表单数据

WBOY
发布: 2016-06-23 13:15:33
原创
773 人浏览过

input data should be validated using functions such as strip_tags and utf8_decode. Dynamics content should be HTML encoded using htmlspecialchars.
登录后复制


用户输入的数据用strip_tags和utf8_decode处理,为什么读取数据还要用htmlspecialchars处理?
前面已经用strip_tags把标签去掉了


回复讨论(解决方案)

if($text != strip_tags($text)) { 
  //含有 HTML 内容,怎么处理由你决定
}
utf8_decode 对中文无效,只会越搞越乱

Dynamics content should be HTML encoded using htmlspecialchars
动态内容可以用 htmlspecialchars 做 HTML 编码

if($text != strip_tags($text)) { 
  //含有 HTML 内容,怎么处理由你决定
}
utf8_decode 对中文无效,只会越搞越乱

Dynamics content should be HTML encoded using htmlspecialchars
动态内容可以用 htmlspecialchars 做 HTML 编码



utf8_encode() 函数把 ISO-8859-1 字符串编码为 UTF-8。
utf8_encode() 函数有什么用? 在什么情况下用到?

ISO-8859-1 是单字节字符集
其别名为 latin1,这个 latin1 你应该是知道的(MySQL的默认字符集)
latin1 又称欧洲标准字符集

if($text != strip_tags($text)) { 
  //含有 HTML 内容,怎么处理由你决定
}
utf8_decode 对中文无效,只会越搞越乱

Dynamics content should be HTML encoded using htmlspecialchars
动态内容可以用 htmlspecialchars 做 HTML 编码



那对于输入的数据,只用htmlspecialchars就可以了?

保存到数据库前: $input_data = htmlspecialchars($input_data);
从数据库读取(不用处理)  $input_data

为什么呢?那么绝对?!

如果传入的是在线编辑器的数据,你也 htmlspecialchars ?
况且 htmlspecialchars 并不处理 ' (单引号),而数据库中是一定要转义的

为什么呢?那么绝对?!

如果传入的是在线编辑器的数据,你也 htmlspecialchars ?
况且 htmlspecialchars 并不处理 ' (单引号),而数据库中是一定要转义的



我现在有点乱,
对于表单保存进数据库前,需要对输入的数据进行什么处理,
从数据库读取现在到页面时,要对读取的数据进行什么处理

入库时转义特殊字符
出库后根据需要做相应处理

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板