日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

过多提交(Over Posting)

發布時間:2023/12/4 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 过多提交(Over Posting) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

  過多提交的內容相對比較簡單,因此,我只打算把原文中的一些關鍵信息翻譯一下。原文鏈接如下:

  http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/implementing-basic-crud-functionality-with-the-entity-framework-in-asp-net-mvc-application#overpost

  

  示例代碼下載:

  https://code.msdn.microsoft.com/ASPNET-MVC-Application-b01a9fe8

?

分析

  假設有一個類Student,它用于和數據庫建立映射,而且Student中的一個字段Secret你不想在頁面上修改它的值。

  

?

  即使界面上沒有Secret對應的字段,hacker可以通過一些工具(如fildder)或者編寫js去發送請求來修改Secret的值。

  

?

  如上圖,Secret的值會被修改為OverPost。

?

防止

  在ASP.NET中,防止過多提交的方法大概有以下幾種:

  1. 使用BindAttribute中的Include屬性,把需要映射的字段加到白名單。

  public ActionResult Create([Bind(Include = "LastName, FirstMidName, EnrollmentDate")]Student student)

?

  2. 使用BindAttribute中的Exclude屬性,把不允許映射的字段加到黑名單。

  public ActionResult Create([Bind(Exclude = "Secret")]Student student)

?

  3. 使用TryUpdateModel方法,驗證Model的時候,制定需要映射的字段。

  if (TryUpdateModel(student, "",?new string[] { "LastName", "FirstMidName", "EnrollmentDate" }))

  {

  }

  

  4. 定義一個新的類作為輸入參數

 ? public class StudentForm

? ? {

? ? ? ? ?public string LastName { get; set; }

? ? ? ? ?public string FirstMidName { get; set; }

? ? ? ? ?public DateTime EnrollmentDate { get; set; }

? ? }

相關文章:

  • 跨站腳本攻擊(XSS)

  • 跨站請求偽造(CSRF/XSRF)

  • 開放重定向(Open Redirection)

  • [譯]構建現代Web應用的安全指南

原文地址:http://www.cnblogs.com/Erik_Xu/p/5497501.html


.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注

總結

以上是生活随笔為你收集整理的过多提交(Over Posting)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。