smartweb 发表于 2012-2-13 14:27:33

CI在input中取出含有单引号的内容

CI在input中取出含有单引号的内容
View:
<input type="text" class="text-long" name="title" value="<?php echo set_value('title',$item['title']); ?>" />


有单引号,单引号和后面的东西都没法读出。

Hex 发表于 2012-2-13 19:38:20

转义一下吧~
不过到底什么问题,我没看太明白

smartweb 发表于 2012-2-13 22:43:47

Hex 发表于 2012-2-13 19:38 static/image/common/back.gif
转义一下吧~
不过到底什么问题,我没看太明白

例如我的数据内容是A's Name is ABC
但我只显示A
后面的都不显示,但数据库里是有的。

smartweb 发表于 2012-2-14 07:32:51

我是在control里面动态装入input的


$add_content.="<p class=pr><label><b>".$row->title."</b></label></p><p class='pr redfont'><label>标题:</label><input type='text' class='text-long' name='title$i' value=‘$title’ /></p>";

smartweb 发表于 2012-2-14 07:37:57

原来是,给值前应该转一下
$str = str_replace($str, "\"", "&#34;");
$str = str_replace($str, "'", "&#39;");

smartweb 发表于 2012-2-14 07:42:59

应该是这样,htmlspecialchars

$add_content.="<p class=pr><label><b>".$row->title."</b></label></p><p class='pr redfont'><label>标题:</label><input type='text' class='text-long' name='title$i' value=\"".htmlspecialchars($title)."\" /></p>";

Hex 发表于 2012-2-14 11:17:52

是呀,必须转义呀,否则很容易出 XSS 漏洞,丢失数据事小,被攻击事大。
页: [1]
查看完整版本: CI在input中取出含有单引号的内容