为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel Form:如何在不使用表单的情况下将隐藏信息传递给控制器

Laravel Form:如何在不使用表单的情况下将隐藏信息传递给控制器

PHP
慕盖茨4494581 2023-07-21 18:08:42
我正在创建一个带有目录、交易系统和自定义货币的网站(在 Laravel 中)。我已经完全完成了目录和自定义货币(至少到目前为止),这只是交易系统。我已经非常接近完成交易系统了,除了这一件事一直阻碍着我,尽管我认为这应该很简单。每个目录商品都有一个唯一的ID(在数据库中称为uid),交易系统根据唯一的商品id进行商品交易。我有它,如果您单击您想要或想要赠送的项目上的复选框,它会将您签入的所有 uid 发送到一个数组中(注意:我有 2 个单独的数组,一个用于提供项目,一个用于请求项目)。但我现在的方式是它根据表单输入获取每个 Item uid。由于我不希望用户能够编辑项目的唯一 ID,因此我需要一种在后端执行此操作的方法。我尝试过研究,但还没有走得太远。我对 Laravel 和整个网站制作有点陌生,所以我真的不知道如何继续下去。我想我必须使用 JavaScript,但我不知道如何使用 JavaScript 将信息发送到控制器。我也听说过编码然后解码值,但我也不知道如何做到这一点。HTML 代码(提供方):@foreach (Auth::user()->inventory()->paginate(9999) as $itemb)                        <form class="form-horizontal" method="POST" enctype="multipart/form-data" action="{{ route('trade.s', $user->id, [$itemb->uid]) }}">                        {{ Form::token() }}                        <?                        $itembb = $itemb->item_id;                        $item =  Item::whereid($itembb)->first();                        $yoyo = $item->selling()->orderBy('price', 'asc')->first();                        ?>                        @if ($item->limited == '1')                        @if ($item->rbp()->count() > 0)                        <div class="col-md-4" style="margin-top: 8px;display: inline-block;padding-left: 10px;">                        <a>                            </div>                     </div>                    </div></a>非常感谢任何帮助!(抱歉,如果我的帖子很混乱,请告诉我是否需要添加更多代码示例。)
查看完整描述

2 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

据我了解,您担心的是人们会修改该项目的 UUID 并尝试“出售”另一个没有的项目。如果是这种情况,您不应该处理表单本身,而应该处理后端的安全性。那是:

  1. 接收待售商品 UUID(或商品数组)

  2. !重要的!检查每个项目的 UUID 是否属于该特定登录用户。

  3. 如果所有物品都属于该用户 a) 如果它们都属于该用户 -- 将它们存储在数据库中作为该用户的“销售”。b) 如果甚至有一件物品不属于用户 - 返回验证错误。他们不应该能够储存他们没有的待售物品。

根据我的阅读,您似乎跳过了步骤 2。在该步骤中检查从表单收到的 UUID。

将 html 表单更改为“不可更改”几乎是不可能的,因此请适应您的限制,而不是反对它们。:)


查看完整回答
反对 回复 2023-07-21
?
偶然的你

TA贡献1841条经验 获得超3个赞

您可以为每个保存 uid 的项目添加一个隐藏表单输入吗?例如

<input type="hidden" name="uid" id="uid" value="{{ $item->uid }}">


查看完整回答
反对 回复 2023-07-21
  • 2 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信