php 表单数据

WBOY
Release: 2016-06-23 13:15:33
Original
774 people have browsed it

input data should be validated using functions such as strip_tags and utf8_decode. Dynamics content should be HTML encoded using htmlspecialchars.
Copy after login


用户输入的数据用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 并不处理 ' (单引号),而数据库中是一定要转义的



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

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template