有问题。通过foreach我迭代一个数组,其中未经验证的参与者具有id、nickname和email。当单击acceptUser/按钮时,我必须向/页面declineUser发送一个 POST 请求,在请求正文中发送我的 id(在代码中),以及我在其行中单击相应按钮的用户的 id。目前,我使用 JavaScript 通过 data-userid 属性传递用户 ID,并通过 fetch 处理请求。然而,问题是这个属性可以通过元素的代码轻松更改,并且代码将开始使用已经更改的 id。如何在我的用户搜索示例中实现此类功能?我假设每个按钮都需要包装在带有按钮的表单中,但是如何传递我使用这些按钮的确切用户的 id 呢?/api/accept_request.php/api/decline_request.php$adminIdforeachaction
我的代码:
<section class="section">
<h1 class="section__title">Верификация пользователей</h1>
<p class="section__subtitle">На данный момент <strong><?php echo count($unverifyUsers); ?></strong> чел. ждут верификации аккаунта.</p>
<div class="verify-list">
<?php foreach ($unverifyUsers as $unverifyUser) : ?>
<div class="verify-row">
<p>Пользователь: <strong><?php echo $unverifyUser['nickname']; ?></strong>. Почта: <strong><?php echo $unverifyUser['email']; ?></strong>.</p>
<div class="verify-actions">
<button id="acceptUser" data-userid="<?php echo $unverifyUser['id'] ?>" class="verify-action verify-action--primary">Подтвердить</button>
<button id="declineUser" data-userid="<?php echo $unverifyUser['id'] ?>" class="verify-action verify-action--gray">Отклонить</button>
</div>
</div>
<?php endforeach ?>
</div>
</section>
在客户端,你可以很容易地查看.js文件的代码并找出哪些数据,以什么格式以及向哪里发送请求,这是不安全的
目前最流行的解决方案是使用 jwt 令牌,例如您可以阅读这篇文章
有很多库方便使用
简而言之:登录方法生成一个令牌并返回它,然后所有请求都用这个令牌进行签名,该令牌不需要存储在数据库中,但是该令牌应该随着时间的推移“烧毁”,并且应该需要一个新的令牌例如,每 15 分钟创建一次。
这样就可以保证应用程序的安全性