我正在使用PHP在数据库中提交数据,但我希望设置更安全的代码,以便使用SQL注入,但我的一位朋友在10分钟内破解了我的数据。还有其他强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']));SQL查询
// prepare and bind
$sql="INSERT INTO creatcontact (email, subject, mobileno) VALUES (?,?,?)";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ssi",$email, $subject, $mobileno);
$stmt->execute();
//redirect code
header('Location: index.php');
$stmt->close();
$conn->close();发布于 2017-08-26 17:31:33
正如您所做的那样,使用绑定变量是防止SQL注入的最佳方法。针对SQL注入和其他安全漏洞的另一个主要防御措施是验证。验证可以帮助防止二阶SQL注入攻击,在这种情况下,插入数据库的值被错误地连接到SQL语句中。它还可以帮助防止在其他注入攻击(如XSS )中使用的数据。
理想情况下,验证应该检查已知的好值(白色列表)。例如,在您的情况下,您可能希望确保电子邮件、主题和电话号码仅限于特定的字符和号码。
https://stackoverflow.com/questions/45891720
复制相似问题