【发布时间】:2015-04-08 18:41:19
【问题描述】:
我在 mysql 中有 2 个数据类型相同的字段 varchar(200) 但是当我在 HTML 中输入相同的值(3" x 3 表)时(输入类型是文本和文本区域)并且在 mysql 中没有发现问题,但是当我选择数据并以 HTML 形式显示时,只有 textarea 可以显示完整的描述(3" x 3 表)并且输入类型(文本)中的值是 3 而没有 "x 3 表,所以我对此一无所知但是当我echo $row['desc1']不确定为什么不能在html中显示时,该值可以显示
$r12=$row['desc1'];
<td><input type="text" id="r1-2" name="r1-2" maxlength="200" style="width: 99%;" value="<?php echo $r12; ?>" /></td>
(php版本是5.3.8,mysql是5.5.16)。
【问题讨论】:
-
你应该在 echo 之前转义内容
-
只是为了好玩,把这个描述放在你的数据库中:
"><script>alert('Nice XSS injection you have there!');</script>看看会发生什么。 -
当我输入这个时,我得到“无法更新数据:您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以了解在 'Nice XSS 附近使用的正确语法');', pono1='0', pod1='', qty1='', up' at line 1"