gpt4 book ai didi

c# - MVC 密码字段输入引发 "A potentially dangerous Request.Form value was detected from the client"

转载 作者:行者123 更新时间:2023-11-30 17:38:40 26 4
gpt4 key购买 nike

我遇到了一个有趣的案例,用户输入的密码包含“<”和“>”符号。

具有 MVC 5 的默认表单验证功能,我收到错误:

A potentially dangerous Request.Form value was detected from the client (Password="1 < 2 3 a @ < i O")

(在上面的错误中我故意在密码值中加了空格,否则无法显示...确实有潜在的危险...!!!)

现在,我知道 mvc 自动编码用户输入以避免跨站点脚本,所以在常规文本框中,我不会遇到这样的问题,但在密码字段中,它显然不是自动编码的(因为它不应该!)。

一个快速(也许是肮脏的)解决方法是我在模型的密码字段上启用 [AllowHtml] 装饰器。

另一个快速(可能更脏)的解决方法是我在 Controller 操作上启用 [ValidateInput(false)] 装饰器。

但我想要一些可以解决我的问题并且不会在我的系统中打开任何其他潜在漏洞的建议...请提供任何建议??

最佳答案

对于登录 Controller ,关闭验证就可以了。密码永远不会显示,甚至不会存储在任何地方,如果您在任何地方显示用户名,您只需确保它被正确编码即可。标准输入验证显然不知道您如何使用已输入的数据,因此必须相当偏执。这并不是说在必要时关闭它会自动降低您的应用程序的安全性。

关于c# - MVC 密码字段输入引发 "A potentially dangerous Request.Form value was detected from the client",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36398617/

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