当前位置: 代码迷 >> SQL >> 参数化防SQL流入
  详细解决方案

参数化防SQL流入

热度:58   发布时间:2016-05-05 14:34:21.0
参数化防SQL注入

现在防止SQL注入最常用的方法基本上就是参数化条件了。

原理是因为用这种方式处理时,数据库服务器会先编译传入的SQL语句,而不把参数代入。编译完成后再把参数替换。所以你的注入是无法被执行的。

?

比如用PHP实现。

1.mysql_query类型函数实现

?? $query = sprintf('select * from book where id = "%s"', '33');

?? mysql_query($query, $conn);

?

2.mysqli实现

?? 这种实现,PHP MYSQLi 类本身本身已经提供了预处理。

?? $mysqli = new MYSQLi($host, $port);

?? $stmt = $mysqli->prepare('select * from book where id = ?');

?? $stmt->bind("i", 333);

  相关解决方案