如何确保 PHP Web Rest API 的安全?

问题描述 投票:0回答:1

我正在 MySQL 上创建简单的 CRUD 操作和 Pack API 以在我的移动应用程序中使用。但是,我不知道如何在这里提供安全性。我希望我的数据库连接信息不被窃取,并且恶意用户无法访问它。例如,在下面的代码中,根据通过POST方法从users表接收到的用户ID信息来执行删除过程。

<?php
$host = 'localhost';
$dbname = 'database_name';
$username = 'database_username';
$password = 'database_password';

header("Content-Type: application/json; charset=utf-8");

$userID = intval($_POST["user_id"]);

$response = array();

try {
    $conn = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $stmt = $conn->prepare("DELETE FROM users WHERE user_id = :userID");
    $stmt->bindParam(":userID", $userID);
    $stmt->execute();

    $response['status'] = "success";

} catch (PDOException $e) {
    $response['status'] = "error";
    $response['message'] = $e->getMessage();
}

echo json_encode($response);
?>

php api rest restful-url
1个回答
0
投票

我不知道你是否使用Apache。

在这种情况下,您可以使用htaccess && htpasswd

我用它来保证简单 REST API 的安全性

https://httpd.apache.org/docs/2.4/fr/programs/htpasswd.html

我也建议你改变这条线

$userID = intval($_POST["user_id"]);

您必须保护您的 POST,看这个:终极清洁/安全功能

祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.