用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2408|回复: 6
收起左侧

[已解决] CI在input中取出含有单引号的内容

[复制链接]
发表于 2012-2-13 14:27:33 | 显示全部楼层 |阅读模式
CI在input中取出含有单引号的内容
View:
<input type="text" class="text-long" name="title" value="<?php echo set_value('title',$item['title']); ?>" />


有单引号,单引号和后面的东西都没法读出。
发表于 2012-2-13 19:38:20 | 显示全部楼层
转义一下吧~
不过到底什么问题,我没看太明白
 楼主| 发表于 2012-2-13 22:43:47 | 显示全部楼层
Hex 发表于 2012-2-13 19:38
转义一下吧~
不过到底什么问题,我没看太明白

例如我的数据内容是A's Name is ABC
但我只显示A
后面的都不显示,但数据库里是有的。
 楼主| 发表于 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>";
 楼主| 发表于 2012-2-14 07:37:57 | 显示全部楼层
原来是,给值前应该转一下
$str = str_replace($str, "\"", "&#34;");
$str = str_replace($str, "'", "&#39;");
 楼主| 发表于 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>";
发表于 2012-2-14 11:17:52 | 显示全部楼层
是呀,必须转义呀,否则很容易出 XSS 漏洞,丢失数据事小,被攻击事大。

本版积分规则