0
下面的php代码是否容易受到SQL注入攻击,或者它是否足够安全?另外:PHP/mySQL准备好的语句
- 我应该申请
mysql_real_escape_string()
由用户传递的值(或试图阉割他们以任何其他方式)...? - 我应该使用
php_flag magic_quotes off
...? 我应该使用
php_value magic_quotes_gpc 0
...?$mysqli = new mysqli($server_name, $db_username, $db_password, $db_name); $sql = "SELECT * FROM tbl_users WHERE username=? AND password=?"; $username = $_POST['username']; $password = $_POST['password']; $stmt = $mysqli->prepare($sql); $stmt->bind_param('ss',$username,$password)) { $stmt->execute();
**一样安全,因为它得到。**想准备的语句作为内部逃逸数据。他们实际上将它传送回服务器... – CodeAngry
魔术引号应该关闭,但他们在PHP 5.3中默认这种方式,并且已经在PHP5.4 + – 2014-02-25 23:11:51