.NET 开发笔记
FLY-DUCK
距离产生错误的美!
展开
-
.NET MVC使用HtmlSanitizer过滤XSS攻击
什么是XSS通过“HTML注入”篡改了网页,插入了恶意脚本,从而在用户在浏览网页时,实现控制用户浏览器行为的一种攻击方式。XSS属于客户端代码注入,通常注入代码是JavaScript。区别于命令注入,SQL注入属于服务端代码注入。为什么要过滤XSS最近接到维护性项目,客户反馈网站的富文本编辑器中图片无法保存,通过排除发现是客户的服务器最近设置了XSS拦截,导致带有标签<im...原创 2019-10-28 13:58:58 · 3454 阅读 · 0 评论 -
.NET MVC过滤器ActionFilterAttribute验证权限以及Model
项目使用.NET MVC开发,在开发过程中网站权限以及页面ViewModel的验证是比较常见的,本文主要记录在维护以前.NET MVC项目时将权限和Model的验证通过过滤器ActionFilterAttribute的方式来进行优化,达到简化程序代码提高效率。最近接到维护性项目的反馈说网站有冗余的数据,通过查看和分析代码发现项目以前在创建数据的时候为添加Model验证以及权限验证,通过页面加上...原创 2019-10-22 15:39:27 · 1032 阅读 · 0 评论 -
.NET Framework项目中 AutoMapper的配置使用
项目中对象与对象赋值转换或者集合与集合的赋值转换使用的频率非常的高,比如数据库表实体对象(Entity)与业务类对象(Model)之间的赋值传递,或者模型对象(Model)与视图对象(ViewModel)之间的赋值传递。如果我们一个一个字段的赋值,将是非常繁琐并且毫无价值的重复工作,此时虽然我们可以自己通过反射提取个公共的方法来处理,但是更高效的方式是查看是否有第三方已经提供了比较成熟稳定的工具包...原创 2019-10-23 15:42:32 · 3003 阅读 · 0 评论 -
MVC FluentValidation 验证开发
.Net MVC FluentValidation 后台验证原创 2017-06-01 17:39:58 · 1669 阅读 · 0 评论 -
.NET MVC @Html.EditorFor 如何设置生成后html 标签的属性
项目中使用MVC开发,会经常使用Html Helper,比如TextBoxFor,DropdownFor,CheckboxFor等等。使用频率较高的EditorFor扩展方法在对于生成Html标签的属性比其他的扩展方法有较大的不同,标签的属性需要以object的方式来定义,object中在htmlAttributes中直接定义html属性与对应的值,示例:@Html.EditorFor(mo...原创 2019-10-18 20:50:46 · 1165 阅读 · 0 评论 -
.NET Enum枚举公共类以及获取所有枚举项公共方法封装
项目中枚举是比较常用的一种类型,在功能开发的时候我们经常会获取所有的枚举项做一些逻辑判断,以及将每个枚举的所有枚举项传递给UI或者API等。为了解决获取枚举的所有枚举项,我们将枚举封装为枚举类EnumNode,并扩展获取所有枚举项的扩展方法ToSelectList,详细代码如下:------------------------------------------------------Enum...原创 2019-05-15 16:42:22 · 2809 阅读 · 0 评论 -
.NET Core项目NLog日志框架使用
项目中日志是比较常见的一个功能模块,在开发阶段和运维阶段我们可以根据日志排查项目出现的问题,同时可以为项目运营阶段提供业务数据分析。所以日志是项目中不可或缺的功能模块,项目中一般会根据项目需要开发偏向业务的日志模块,而本博客主要介绍第三方日志框架NLog。通过引入NLog日志框架,项目中可以快速的实现基本的日志模块,大大的提高了开发效率。NLog的Github地址:https://github...原创 2019-08-02 15:55:50 · 7415 阅读 · 0 评论