最好的php+mysql安全就是重新构件PHP解释引擎和MYSQL数据库
比如php里面的
$mysql = new mysqli($host, $user, $passwd, "test");
$mysql->query("DROP TABLE IF EXISTS test_bint");
$mysql->query("CREATE TABLE test_bint (a bigint(20) default NULL) ENGINE=MYISAM");
$mysql->query("INSERT INTO test_bint VALUES (9223372036854775807),(-9223372036854775808),(-2147483648),(-2147483649),(-2147483647),(2147483647),(2147483648),(2147483649)");
$mysql->query("DROP TABLE IF EXISTS test_buint");
$mysql->query("CREATE TABLE test_buint (a bigint(20) unsigned default NULL)");
$mysql->query("INSERT INTO test_buint VALUES (18446744073709551615),(9223372036854775807),(9223372036854775808),(2147483647),(2147483649),(4294967295)");
$stmt = $mysql->prepare("SELECT a FROM test_bint ORDER BY a");
$stmt->bind_result($v);
$stmt->execute();
攻击者可以通过HTTP协议参数构建注入语句
最好的解决办法就是修改MYSQL原代码,修改SQL指令,比如CREATE ---> 00987432CREaate,就是通过指令的各种对照加密方式修改指令的办法修改,这个修改还要通过PHP引擎前端的PHPMYSQL协议模块一起要改
PHP前端,可以修改ZEND加密方式
这样就有效的防止SQL注入工具及SQL指令对WEB站点的影响,但是这样也不能防止XSS,这个完全是在SQL指令变换上做的文章,国外一些大的站点做了PHP+MYSQL指令变换,有的站点搞了SQL指令加密,前端做了变形的ZEND加密方式