【发布时间】:2015-08-20 02:21:33
【问题描述】:
我有一个问题 在我的应用程序中,所有 SQL 查询都使用 PDO。例如注释:
<?php
include "config.php";
$User_Check = $_SESSION['Login_User'];
if ($_SERVER["REQUEST_METHOD"] == "POST") {
Notes = $_POST["Notes"];
try {
$sql = $conn->prepare('UPDATE Accounts SET Notes = :Notes WHERE Username = :User_Check');
$sql->execute(array('Notes' => $Notes, 'User_Check' => $User_Check));
header('Location: home.php?Message=Uspesno');
} catch(PDOException $e) {
header('Location: home.php?Message=Greska');
}
}
$sql = $conn->prepare('SELECT Notes FROM Accounts WHERE Username = :User_Check');
$sql->execute(array('User_Check' => $User_Check));
$row = $sql->fetch(PDO::FETCH_ASSOC);
$SelectNotes = $row['Notes'];
conn = null;
?>
现在我想知道这种方式有多安全?任何人都可以进行 SQL 注入吗?我是否需要添加其他形式的保护?谢谢!
【问题讨论】:
-
对于最常见的事情你是安全的,但进一步清理你的输入变量不会有什么坏处。喜欢
$Notes = filter_var($_POST["Notes"], FILTER_SANITIZE_STRING);
标签: php mysql sql-server pdo