1
bf68 OP 大神们
|
2
raincious 2014-11-04 18:43:21 +08:00
如果你遇到了这样的问题,只能说……是根本没做对。
1、改用MySQLli或者PDO; 2、设置正确的字符集; 3、再不济,你也有mysql_real_escape_string()(仍然要确保字符集正确); 4、任何尝试检查输入字符是否包含0xbf或0x27然后进行替换的行为都是……有病的。 |
3
nilai 2014-11-04 18:48:42 +08:00
宽字符注入。
|
4
bf68 OP 有解决方案不大神们
|
5
invite 2014-11-04 20:00:21 +08:00
变量绑定可以不?
|
7
lygmqkl 2014-11-04 20:08:03 +08:00
php 上框架 bindValue 压根就不用考虑这个。。。。虽然有点偷懒,但是可以统一团队开发人员的效率。
|
8
lincanbin 2014-11-04 20:55:38 +08:00
强烈建议使用PDO
|
10
domino 2014-11-05 09:39:05 +08:00
1.用mysql_set_charset函数设置连接所使用的字符集为gbk
再调用mysql_real_escape_string来过滤用户输入。 2.将character_set_client设置为binary(二进制)。 只需在所有sql语句前指定一下连接的形式是二进制: mysql_query("character_set_client=binary", $conn); |
11
elvba 2014-11-05 23:47:58 +08:00
二楼正解,使用PDO以及设置正确的字符集,做好输入过滤。
|