- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我创建了两个项目,假设是 projectA 和 projectB。
现在在项目 A 中,我创建了以下操作方法。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Index(Employee employee)
{
return View();
}
而且,这个 Action 方法有一个 View Index.cshtml,它有一个表单和
@Html.AntiForgeryToken() in form tag.
现在在项目 B 中,我已经创建了一个操作方法和一个 View 。
这个 View 有一个带有 Action 的表单
projectA/Home/Index
还有,
@Html.AntiForgeryToken() helper.
现在的问题是,当我从项目 B 提交表单时,它命中了项目 A 的操作方法。
为什么会这样?我在这里缺少什么?
最佳答案
最近.Net 中的 token 生成和验证相对复杂。它基于将 cookie 与发布值进行比较,但不是那么简单,这两者并不相同。
System.Web.Helpers.AntiXsrf.TokenValidator
比较AntiForgeryToken
中的SecurityToken
。但是,它都是加密的,并且还包含其他字段,例如用户名。如果你在同一台机器上运行,使用相同的加密 key ,并且在同一个域中,它仍然可以工作。但是,cookie 名称还编码了应用程序路径。因此,当您从一个应用程序发布到另一个应用程序时,cookie 名称将不匹配,并且验证将不起作用。
对此的一种解决方案是将 AntiForgeryConfig.CookieName
设置为相同的值。虽然它可以与同一台机器上的应用程序(使用相同的 key )和相同的域一起使用,但我认为这不是一个好的做法,因为它在任何其他情况下都不起作用。您可以在不同的计算机上将 key 设置为相同的(这在安全方面已经不是好的做法),但 cookie 不会发送到不同的域。
关于c# - ValidateAntiForgeryToken 过滤器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51298538/
我创建了两个项目,假设是 projectA 和 projectB。 现在在项目 A 中,我创建了以下操作方法。 [HttpPost] [ValidateAntiForgeryToken
我有一个带有 POST 操作的通用 MVC Controller 。该 Controller 用于多个应用程序使用的公共(public)项目。我们正尝试在交错发布过程中添加 CSRF 保护,我们通过
我认为这是相当简单的事情。 ValidateAntiForgeryToken 是一个过滤器属性,我们可以将其应用于 MVC Controller 上的 post 方法。 它将检查通过调用 @Html.
我阅读了一些有关使用 ValidateAntiForgeryToken 来防止 XSRF/CSRF 攻击的文章。然而,我所看到的似乎只与 MVC 有关。 这些是我看过的文章: ValidateAnti
我在一个方法上使用了几个授权过滤器。 [SessionState(SessionStateBehavior.Required)] public class AuthenticationFilterAt
你能解释一下吗ValidateAntiForgeryToken目的并向我展示有关 MVC 4 中的 ValidateAntiForgeryToken 的示例? 我找不到任何解释此属性的示例? 最佳答案
我们一直收到“未提供或无效所需的防伪 token ”。错误,在进一步的调查中,我设法以最简单的形式重现了这个问题——我要么做错了什么,要么这是防伪 token 系统的限制。 无论哪种方式,我都会很感激
安全第一。 MVC 最佳实践建议添加 [ValidateAntiForgeryToken]属性到每个 [HttpPost]行动。 如何在应用程序的一个独特点强制执行此规则? 最佳答案 以下类允许使用
我正在查看 github 中的 SS 代码,但我找不到任何与 ValidateAntiForgeryToken 等效的代码,因为我不想重新发明轮子,我想尽可能多地重用 SS 框架,我认为解决方案可能是
这个问题在这里已经有了答案: ValidateAntiForgeryToken purpose, explanation and example (4 个回答) 7年前关闭。 谁能告诉我那个属性是什么
默认情况下(即通过脚手架)将此过滤器应用于 Login 仅有意义。操作,据我所知,这个 token 在已经与登录 ID 关联时效果最好。与它适用于Login , 如果用户尝试登录两次,我会遇到问题,并
出于安全原因,我更喜欢在我的 baseController 之上添加属性 ValidateAntiForgeryToken,以便所有操作都将受到该属性的影响。 我只想为单个操作禁用该属性。 不为我的
防伪 token 接受盐值。选择盐是否存在任何安全问题,例如 最小长度要求 加密强度高 字母数字和其他字符的混合(例如密码) 此外,客户端可以查看盐值吗?查看源代码,它似乎将盐值添加到 cookie
我刚才试图通过提供防伪 token 来保护 post 方法免受侧脚本攻击,但注意到,在 .Net Core 中还有另一个名为 AutoAntiForgeryToken 的属性。 XML 注释和在线搜索
我有点理解[ValidateAntiForgeryToken] 是如何防止 CSRF 的,我已经通读了 this question ,但我不确定这是否会阻止某人伪造表单帖子的参数。 ItemList
编辑:我尝试了更多的事情..请参阅此问题的结尾以获取更新 我正在尝试通过 AJAX 将一些数据以及 AntiForgeryToken 从 MVC 应用程序中的页面传递到 Controller 。这不是
我读到 POST 被认为是安全的,GET 不安全,我们应该在每个 Controller 的每个操作中实现 [ValidateAntiForgeryToken]。 问题是:使用[POST]时需要使用[V
我已经在一些负载平衡的 Linux 服务器上部署了一个 asp.net 核心应用程序。由于 ValidateAntiForgeryToken 属性失败(如果 POST 没有返回到与生成我的表单的机器相
考虑一个在 [ValidateAntiForgeryToken] 指令中使用 Salt 参数的 ASP.NET MVC 应用程序。 场景是该应用程序将被许多客户使用。在编译时就知道 Salt 并不是非
我previously asked a question regarding this ,得到了interesting answer这让我开始询问更多问题。因此,这是我弄清楚 AJAX 帖子的内部工作
我是一名优秀的程序员,十分优秀!