gpt4 book ai didi

php - 合理的安全级别与 sql 注入(inject)?

转载 作者:太空宇宙 更新时间:2023-11-03 10:25:32 25 4
gpt4 key购买 nike

我正准备启动一个网站 - 第一个我从头开始编写代码的网站。它将是低流量和低调的(可能不会被搜索引擎抓取。)我正在使用 PEAR 的 DB 库及其 query() 方法的占位符来存储用户数据,如下所示:

<?php
require_once('db.inc');
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$rsvp = $_POST['rsvp'];
$mail = $_POST['email'];
$phone = $_POST['phone'];
$lodging = $_POST['lodging'];
$extra = $_POST['extra'];
$msg = $_POST['msg'];
$password = $_POST['password'];
$id = $_POST['id'];
$username = $firstname . ' ' . $lastname;

if (isset($id)) {
$sql = $conn->query("UPDATE guest SET username = ?, mail = ?, phone = ?, lodging = ?, extra = ?, msg = ?, role = ?, password = ?, mailed = ? WHERE id = ?", array($username, $mail, $phone, $lodging,$extra, $msg, 2, $password, 0, $id)); //TODO!! set mailed to 1 in production
} else {
$sql = $conn->query('INSERT INTO guest (username, password, rsvpstatus, role, mail, phone, lodging, extra, msg, mailed)VALUES (?,?,?,?,?,?,?,?)', array($username, $password, $rsvp, 2, $mail, $phone, $lodging, $extra, $msg, 1));
}

header('location:main.php');

与 sql 注入(inject)相比,这看起来是一个合理的保护级别吗?

最佳答案

像你这样的占位符和绑定(bind)正是对sql注入(inject)的防御。只要您从不直接将任何用户输入插入到 sql 中,就可以了。

关于php - 合理的安全级别与 sql 注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6133092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com