91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MVC3----網站安全性

發布時間:2020-07-15 01:48:35 來源:網絡 閱讀:462 作者:1473348968 欄目:編程語言

 

=======================================一、防止跨站腳本***(XSS)

 

①: @Html.Encode("<script>alert('123')</script>")
編碼后:&lt;script&gt;alert(&#39;123&#39;)&lt;/script&gt;

②: @Html.AttributeEncode("<script>alert('123')</script>")
編碼后:&lt;script>alert(&#39;123&#39;)&lt;/script>

③: @Html.JavascriptEncode()

③: 使用antixss庫防御

 

                                                                                                               

=======================================二、防止跨站請求偽造(CSRF)

 

①: 令牌驗證(用于表單驗證)
在提交表單中加上@Html.AntiForgeryToken(),在控制器中加上[ValidateAntiforgeryToken]

②: HttpReferrer驗證(get、post)

新建一個類,繼承AuthorizeAttribute(在提交的時候驗證):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace SchoolManageDomw.Models
{
    public class IsPostedThisSiteAttribute:AuthorizeAttribute
    {
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (filterContext.HttpContext != null)
            {
                if (filterContext.HttpContext.Request.UrlReferrer == null)
                    throw new Exception("客戶端請求的信息為空");
                if (filterContext.HttpContext.Request.UrlReferrer.Host != "localhost")//MySite.com
                    throw new Exception("不安全的請求");
            }
        }
    }
}

 控制器里使用:

        [IsPostedThisSite]
        public ActionResult LogOff()
        {
            FormsAuthentication.SignOut();
            return RedirectToAction("Index", "Home");
        }

 

 

=======================================三、cookie竊盜

 

1,cookie主要有兩種形式:
①:會話cookie:會話cookie存儲在瀏覽器的內容中,在瀏覽器的每次請求中通過http頭傳遞
②:持久性cookie:持久性cookie存儲于計算機的實際文件中,并與會話cookie以相同的方式傳遞

 

2,使用HttpOnly阻止cookie竊盜
①:web.config文件中對所有cookie進行設置
(停止腳步對站點的cookie訪問)
<system.web>
    <httpCookies domain="" httpOnlyCookies="true" requireSSL="false"/>
</system.web>
②:在程序中為編寫的每一個cookie單獨設置
(除了服務器修改或設置cookie之外,其他一些對cookie的操作均無效)
Response.Cookies["MyCookie"].Value = "userid";
Response.Cookies["MyCookie"].HttpOnly = true;

 

=======================================四、重復提交

 

 ①:使用白名單指定允許綁定的字段
[Bind(Include="Name,Content")]
②:使用黑名單排除禁止綁定的字段
[Bind(Exclude="Price,OrderID")]
可以用在模型類中,也可以用在控制器操作參數中


例:
模型中使用:
[Bind(Include="Name,Content")]
public class product()
控制器操作參數中使用:
 public ActionResult Edit([Bind(Include = "STU_NAME,STU_MONEY")]PersonError p, string returnUrl)

 

 =======================================五、開放重定向

1,例子:

比如你是工商銀行,我是一個罪犯。
你的網站叫 www.icbc.com.cn,我建立了一個網站叫 www.icbc888.cn,我讓網站看起來和你的一樣。
我在論壇上發布這樣一個帖子:
快來啊,工商銀行派發紅包啦,點這里:http://www.icbc.com.cn/account/login?returnUrl=www.icbc888.cn。用戶看起來會覺得這個鏈接是工商銀行的,但是當它點進去以后,會被跳轉到www.icbc888.cn,后面的事情你可以想象到。

 

2,控制器代碼(登錄):

returnUrl:重定向的路徑

        [HttpPost]
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                if (Membership.ValidateUser(model.UserName, model.Password))
                {
                    FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                   //做安全判斷
                    if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
                        && !returnUrl.StartsWith("http://") && !returnUrl.StartsWith("/\\"))
                    {
                        return Redirect(returnUrl);
                    }
                    else
                    {
                        return RedirectToAction("Index", "Home");
                    }
                }
                else
                {
                    ModelState.AddModelError("", "提供的用戶名或密碼不正確。");
                }
            }
            // 如果我們進行到這一步時某個地方出錯,則重新顯示表單
            return View(model);
        }

 

=======================================六、適當的錯誤報告和堆棧跟蹤 

 

<customErrors mode="Off"></customErrors>
On:服務器開發的最安全選項,因為它總是隱藏錯誤提示消息
RemoteOnly:向大多數用戶展示一般的錯誤提示消息,但向擁有服務器訪問權限的用戶
展示完整的錯誤提示消息
Off:最容易受到***的選項,它向訪問網站的每個用戶展示詳細的錯誤提示消息

<customErrors mode="On" redirectMode="ResponseRedirect"  defaultRedirect="~/Home/Index">
<!--服務器返回404錯誤跳轉的指定頁面-->
<error redirect="~/Home/Index" statusCode="404"/>
</customErrors>

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

深水埗区| 柯坪县| 上饶县| 田林县| 龙门县| 迁西县| 聊城市| 垫江县| 桐梓县| 辰溪县| 汤阴县| 济南市| 长阳| 金川县| 民权县| 靖江市| 化隆| 息烽县| 长治县| 栾川县| 凤翔县| 诸城市| 北宁市| 兰州市| 梅河口市| 随州市| 蒙自县| 团风县| 东莞市| 吴旗县| 常山县| 开平市| 连江县| 光泽县| 苏尼特右旗| 依兰县| 犍为县| 祥云县| 琼结县| 嘉鱼县| 宁城县|