是否还有其他强大的SQL注入来保护数据?

时间:2017-08-26 03:40:55

标签: php mysqli sql-injection

我使用PHP正在数据库中提交数据,但我想设置更安全的代码,以便我使用SQL注入,但我的一个朋友在10分钟内破解了我的数据。是否还有其他强大的SQL注入来保护数据?

我试过

$VAR1 = [     
'Program Files',

'Microsoft VisualStudio',

'VC98',

'Bin',

'Rebase.exe'
];

SQL查询

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

  $email=$conn->real_escape_string(trim($_POST['email']));
  $subject=$conn->real_escape_string(trim($_POST['subject']));
  $mobileno=$conn->real_escape_string(trim($_POST['contact']));

1 个答案:

答案 0 :(得分:1)

正如您所做的那样,使用绑定变量是防止SQL注入的最佳方法。针对SQL注入和其他安全漏洞的另一个主要防御是验证。验证可以帮助防止二阶SQL注入攻击,其中插入到数据库中的值被错误地连接到SQL语句中。它还可以帮助防止在其他注入攻击(如XSS)中使用的数据。

理想情况下,验证应检查已知的良好值(白名单)。例如,在您的情况下,您可能希望确保电子邮件,主题和电话号码仅限于特定字符和数字。