gpt4 book ai didi

c# - POST 提交的表单在 URL 中显示值。它不应该隐藏它们吗?

转载 作者:行者123 更新时间:2023-11-30 21:11:53 25 4
gpt4 key购买 nike

当我使用 HttpPost 时,表单值不应该隐藏在我的 URL 中吗?

这是我用来生成付款确认页面的 Razor 代码:

@using (Html.BeginForm("Index", "Checkout", new { amount = Model.PackageCost, currency = "$", itemDescription = Model.PackageDescriptor, type = "digital" }, FormMethod.Post))
{
<input type="submit" value="Confirmar" class="btn primary frmsubmit" />
}

在我的 HTML 中,这是生成的:

<form action="/Checkout?amount=50&amp;currency=%24&amp;itemDescription=Paquete%20Gold50%20%7C%2050%24%20(59%20lances)&amp;type=digital" method="post">    
<input type="submit" value="Confirmar" class="btn primary frmsubmit" />
</form>

当我点击“确认”按钮提交表单时,这是我要访问的 URL:

http://localhost:5868/Checkout?amount=50&currency=%24&itemDescription=Paquete%20Gold50%20%7C%2050%24%20%2859%20lances%29&type=digital

那么是什么给了?如果是 POST 表单,为什么不隐藏值?

最佳答案

因为那些不是表单值,而是路由值。表单值是 <input > 的值标签。

我假设您不需要任何路由值(省略第三个参数)而是创建 <input ...>具有适当默认值的标签。如果普通用户不应该看到他们使用 <input type="hidden"> (这显然不是安全功能)。

您还应该使用防请求伪造 token 。

关于c# - POST 提交的表单在 URL 中显示值。它不应该隐藏它们吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7808004/

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