asp.net-mvc-3 - 为 Telerik 上传控制实现防伪造

标签 asp.net-mvc-3 csrf telerik-mvc antiforgerytoken

我遇到过在 Ajax 调用时为 POST 方法实现防伪造 token 的情况,我在这里做的几件事是

[1]包含我的 POST Controller 方法的[ValidateAntiForgeryToken] 属性。

[2]将我的 js 中的 $.ajax 调用更改为 $.ajaxAntiForgery

类似地,我有一个 telerik 上传控件,我可以在其中从 cshtml 触发 Controller 方法(而不是 ajax 调用)- 下面的 cshtml 代码片段

@{ var upload = @Html.Telerik().Upload()
                .Name("attachments")
                .Multiple(true)
                .Async(async => async.Save("MyMethodName", "MyConrollerName")

这种情况下,如何实现防伪呢?我需要在 cshtml、 Controller 中进行哪些更改?

谢谢, 阿达什

最佳答案

您好,如果您使用 MVC 的 Kendo Upload 包装器,防伪信息将自动发送到服务器。

由于您使用的是旧扩展,您可能需要使用 OnUpload事件来手动查找该值并将其发送到服务器。

例如

function onMyUpload(e){
    e.data = { "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val() };
}

关于asp.net-mvc-3 - 为 Telerik 上传控制实现防伪造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13679451/

相关文章:

asp.net-mvc - 温莎城堡 : Register components across multiple projects in solution

c# - 向 ASP.NET MVC4 项目添加类

security - 担心 XSS、CSRF、sql 注入(inject)、cookie 窃取是否足以覆盖网络安全?

java - 重命名 Spring csrf token 变量

jquery - 第二次调用对话框后,Telerik DropDownList 在 JQuery 对话框中被禁用

c#-4.0 - MVC4 应用程序上的 Telerik DatePicker,日期格式验证问题

.net - 在特定情况下,ASP.NET MVC WebGrid 没有正确地将当前参数传递给分页链接

spring-mvc - Spring MVC : How to Protect Application from CSRF and XSS

javascript - 设置文本/Val 在单击/聚焦之前不出现在文本输入中 (jQuery)

asp.net - 重定向回asp.net mvc中的原始url