SQL忽略空格?

时间:2013-12-09 05:28:26

标签: mysql

我遇到了非常有趣的事情。 MySQL忽略varcharchar中的空格。

因此,如果您插入此'a ''a' 您将有2条记录都包含'a'

同样适用于select Where col='a ' 将返回两个插入的行

如果您将col1设为唯一,则插入'a''a '会引发错误。

如果插入字符串的长度超过varchar的长度,即col1具有varchar(5),插入也会截断数据,这可能会使很多系统容易受到攻击},插入'12345''123456'会产生2条记录'12345'

因此,例如,如果您尝试使用管理员的电子邮件'a@a.b'创建帐户并使用'a@a.b thiswilbetruncuateddeutovarcharlength',那么从技术上讲,您的帐户的电子邮件与管理员相同,(此示例为最近的IPBoard漏洞可以在这里找到:http://www.exploit-db.com/exploits/25441/

我也这样做了吗?因为我无法在网上找到mch,所以有人可以提供更多的背景信息:(

谢谢!

0 个答案:

没有答案