gpt4 book ai didi

PHP 更安全的重定向方式

转载 作者:行者123 更新时间:2023-11-29 02:56:17 25 4
gpt4 key购买 nike

我有一个 php 页面,它执行插入,然后重定向到显示订单详细信息的“成功”页面。我正在使用变量进行重定向,但我认为这不太安全:

header("location:success.php?id=$orderid");

这会生成这样的 url:success.php?id=22

然后我使用 URL 获取订单 ID 号,并根据它进行查询以显示订单详细信息:

$getName = explode('?id=', $_SERVER['REQUEST_URI']); 
$id = $getName[1];

$query = <<<SQL
SELECT * FROM `order` WHERE `orderid` = ?;
SQL;

$request = $mysqli->prepare($query);
$request->bind_param("i", $id);
$request->execute();

明显的问题是任何人都可以简单地更改 URL id 号来获取不同订单号的详细信息。我不太担心,因为这完全是一个内部站点,但我仍然想修复此问题。有没有更好、更安全的方法来做到这一点?

最佳答案

这是一个更简单的解决方案:像这样在 session 中存储 orderid $_SESSION['orderid'] = $orderid

在重定向时你会得到它的值如下:

$getName = explode('?id=', $_SERVER['REQUEST_URI']); 
$id = $_SESSION['orderid'];

$query = <<<SQL
SELECT * FROM `order` WHERE `orderid` = ?;
SQL;

$request = $mysqli->prepare($query);
$request->bind_param("i", $id);
$request->execute();

关于PHP 更安全的重定向方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30461867/

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