我正在开发一个Web应用程序,在该应用程序中,用户应单击订单旁边显示的链接以生成订单详细信息pdf该页面将特定用户的订单显示为带有两列的表格:-订单时间和每个订单的pdf链接均包含此代码段
echo '<table class="table"><tr>
<th>Order Submitted on</th>
<th>Get Details</th>
</tr>';
while ($row = $ordersByUser->fetch(PDO::FETCH_ASSOC)) {
echo '<tr><td>'.$row['timestamp'].'</td>';
echo '<td><form method="POST" action="generateorderpdf.php">
<input type ="hidden" name="orderid" value='.$row['id'].'>
<input type="submit" value="CLICK" class="btn btn-dark">
</form></td></tr>';
}
echo '</table>';
我正在存储每个订单的主键
$ row ['id']在一个隐藏字段中,然后将其发送到generateOrderPdf.php页面,以使用post方法的表单生成订单pdf。我的问题是,用户可以使用某些浏览器开发人员工具来更改隐藏的输入字段,并为其他用户生成pdf(我绝对不希望用户这样做)(这是我将帖子请求发送至生成pdf页面的原因,因为有人可以编辑获取网址并查看其他人的订单)。那么,有什么方法可以消除对隐藏输入字段的依赖,以将订单ID发送到generateOrderPdf.php页面?
我已经读到我可以使用会话来存储敏感数据,这样就不需要使用隐藏的表单域,但是我不知道甚至可以使用会话变量来解决此问题,如果可能的话,因为数据表?
实际上,您可以