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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

webAPI过滤器添加参数签名

發(fā)布時間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 webAPI过滤器添加参数签名 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

項目需求:

  接口對安卓和IOS開發(fā)接口,需要房子用戶竄改數(shù)據(jù)請求接口。添加sign簽名校驗參數(shù)。

代碼如下:加上特性標簽就可以控制部分接口驗證

public class SignAuthorizeFilterAttribute : ActionFilterAttribute{public override void OnActionExecuting(HttpActionContext filterContext){var actionList = filterContext.ActionDescriptor.GetCustomAttributes<EncryptDataAttribute>();var controllList = filterContext.ControllerContext.ControllerDescriptor.GetCustomAttributes<EncryptDataAttribute>();if (actionList.Any()|| controllList.Any()){string key = ConfigSection.Get("Key");if (!string.IsNullOrWhiteSpace(key)){var result = new AjaxResCode();//1.驗證入?yún)?/span>string token = HttpContext.Current.Request.Params["token"];string appkey = HttpContext.Current.Request.Params["appkey"];string timestamp = HttpContext.Current.Request.Params["timestamp"];string digest = HttpContext.Current.Request.Params["digest"];string v = HttpContext.Current.Request.Params["v"]; if (string.IsNullOrWhiteSpace(token) ||string.IsNullOrWhiteSpace(appkey) ||string.IsNullOrWhiteSpace(timestamp) ||string.IsNullOrWhiteSpace(digest) ||string.IsNullOrWhiteSpace(v)){result.Message = "請求非法。。。。!";result.ResultCode = (int)ResultCode.Nopermit;filterContext.Response = filterContext.Request.CreateResponse(HttpStatusCode.OK, result);}NameValueCollection coll = HttpContext.Current.Request.Form;StringBuilder paramStr = new StringBuilder();var keys = new List<string>();foreach (string param in coll.Keys){if (!string.IsNullOrEmpty(param)){keys.Add(param.ToLower());}}keys.Sort();foreach (string p in keys){if (p != "digest"){if (!string.IsNullOrEmpty(coll[p])){paramStr.Append(coll[p]);}}}paramStr.Append(key);if (DESEncrypt.MD5ToUpper(paramStr.ToString()) != digest){result.Message = "請求非法!。。。。。";result.ResultCode = (int)ResultCode.Nopermit;filterContext.Response = filterContext.Request.CreateResponse(HttpStatusCode.OK, result);}}}base.OnActionExecuting(filterContext);}}

?

轉載于:https://www.cnblogs.com/zhuyapeng/p/8384140.html

總結

以上是生活随笔為你收集整理的webAPI过滤器添加参数签名的全部內容,希望文章能夠幫你解決所遇到的問題。

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