asp.net core安全事项(上)

  • 隐藏web服务端信息

创建一个asp.net core mcv web项目,运行,F12查看返回信息,如下图,会清晰看到服务端的类型是kestrel.

有时安全检测要求不能显示服务端信息,这样在一定程度上能降低被 攻击的风险,具体代码如下:

    public class Program{public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>{webBuilder.ConfigureKestrel(opt =>{//隐藏服务端信息opt.AddServerHeader = false;});webBuilder.UseStartup<Startup>();});}

效果如下,kestrel被隐藏起来了。

  • 防止重定向

     [AllowAnonymous][HttpPost("login")]public IActionResult Login(string userName,string password,string returnUrl = "/"){//这里省略n行代码return Redirect(returnUrl);}

上面代码中,一般验证用户信息后会跳转到一个站内页面,这个时候会带有returnUrl,这个url如果被篡改成其他站点url,就样就会把我们引导到其他站点提供授权信息,从而泄露自己的登录信息,怎么破?如下:

        [AllowAnonymous][HttpPost("login")]public IActionResult Login(string userName, string password, string returnUrl = "/"){//这里省略n行代码//return Redirect(returnUrl);return LocalRedirect(returnUrl);//orif (Url.IsLocalUrl(returnUrl)){return Redirect(returnUrl);}else{return Redirect("/error");}}
  • 登出,登录次数限制

 public async Task<IActionResult> Logout(){//logout要使登录的cookie失效await HttpContext.SignOutAsync(CookieAuthenticationDefaults.AuthenticationScheme);return RedirectToAction("Index", "Home");
}

有登录,就要一定要有登出,如果是基于cookie,让客户端cookie清除,如果是jwt,token一定要有过期(或服务端维护状态让其实效)。这样可以有效防止授权信息被别人再利用。

另一方面要设计一定时间内登录错误次数锁定帐户功能,在一定程度上也能减少被攻破的风险。

(未完待续)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云水画中人,独立一江秋

转载于:https://blog.51cto.com/wuliguo/50014

python是c语言_python与c语言

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; python语言调用c语言进行扩展&#xff0c;或者增加程序的运行速度都是特别方便的。 同时还能获得与c或者c几…

aes算法实现c语言_以C语言实现归并排序为例,谈谈五大常用算法之一的“分治法”...

分治算法&#xff0c;顾名思义就是“分而治之”&#xff0c;即把规模较大的复杂问题拆分为若干规模较小的类似子问题&#xff0c;并逐个解决&#xff0c;最后再将各个子问题的解决结果合并&#xff0c;得到原始问题的结果的方法。这个技巧是很多高效算法的基础&#xff0c;例如…

一朝读码深似海,不读源码薪难升!读懂.NET5源码,到底多重要?

谈到源码分析&#xff0c;很多人会有这样的疑问&#xff1a;“.NET5的基本功能我已经掌握了&#xff0c;还有读源码的必要吗&#xff1f;”实际上&#xff0c;阅读源码不仅能够帮你更深刻地理解底层设计原理&#xff0c;提升你的系统架构能力和编码功力&#xff0c;还能让你知道…

50万数据生成6位数不重复字符串_R语言系列3:高级数据管理

R语言系列3&#xff1a;高级数据管理此文内容为《R语言实战》的笔记&#xff0c;人民邮电出版社出版。从高中电脑课学VB开始&#xff0c;大一课内开始学习C&#xff0c;到后来大二为了数模学习Matlab&#xff0c;到大三为了搞深度学习自学Python&#xff0c;到研究生之初学习St…

fcn网络训练代码_另辟蹊径,中科院自动化所等首次用图卷积网络解决语义分割难题...

使用 CNN 处理图像问题已经是常规操作&#xff0c;但此类方法会造成局部位置信息的损失。如何解决这个问题呢&#xff1f;来自中科院自动化所和北京中医药大学的研究者另辟蹊径&#xff0c;提出用图卷积网络解决语义分割问题。选自arXiv&#xff0c;作者&#xff1a;Yi Lu等&am…

盘点大厂的那些开源项目 - 小米科技

小米是一家以手机、智能硬件和IoT平台为核心的互联网公司&#xff0c;以智能手机、智能电视、笔记本等丰富的产品与服务。致力于让全球每个人都能享受科技带来的美好生活。“为发烧而生”是小米的产品概念。“让每个人都能享受科技的乐趣”是小米公司的愿景。小米公司应用了互联…

博主应邀参加YOCSEF虚拟化技术论坛

发布日期: 2007-11-18 中国计算机学会青年计算机科技论坛<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />CCF Young Computer Scientists & Engineers ForumYOCSEF于<?xml:namespace prefix st1 ns "urn:schema…

自定义依赖注解无效_最详细的自定义Spring Boot Starter开发教程

1.前言随着Spring的日渐臃肿&#xff0c;为了简化配置、开箱即用、快速集成&#xff0c;Spring Boot 横空出世。目前已经成为 Java 目前最火热的框架了。平常我们用Spring Boot开发web应用。Spring mvc 默认使用tomcat servlet容器&#xff0c; 因为Spring mvc组件集成了spring…

thinkpadt450s换键盘视频_ikbc c87 入门级有线机械键盘测评

大家好&#xff0c;我是胖虎。今天&#xff0c;写一写我当初买的第一把机械键盘「ikbc c87 茶轴」&#xff0c;非常好的入门级樱桃轴键盘&#xff0c;手感和键帽都很不错。ikbc c87 茶轴机械键盘小白&#xff0c;第一款入门级机械键盘买什么&#xff1f;这款ikbc c87和高斯 87C…

dotnet cli 5.0 新特性——dotnet tool search

dotnet cli 5.0 新特性——dotnet tool searchIntro.NET 5.0 SDK 的发布&#xff0c;给 dotnet cli 引入了一个新的特性&#xff0c;dotnet tool search&#xff0c;主要用于搜索 Nuget 上的 dotnet tool&#xff0c;这个命令会搜索 tool 的名称以及一些元数据&#xff0c; tit…

localhost 已拒绝连接_MySQL连接错误:Access denied for #x27;root#x27;@#x27;localhost#x27;

问题描述&#xff1a;笔者在Mac安装MySQL&#xff0c;但是当我连接到localhost本地服务器却被拒绝mysql -u root -p(1045, "Access denied for user rootlocalhost (using password: YES)")根据MySQL的反馈&#xff0c;可以得知&#xff0c;我输入的root密码应该不对…

ncl 添加点shp文件_气象编程 | NCL高效快速精准提取不规则区域内的格点数据

添加新云天气象主编微信或QQ&#xff1a;130188121&#xff0c;及时获取或发布气象升学、就业、会议、征稿及学术动态等信息&#xff01;通常情况下&#xff0c;要获取某个区域内的格点数据&#xff0c;如果要求不是很高&#xff0c;直接采取矩形框挑选方法——即锁定所需范围内…

2021技术领域趋势报告:Rust继续增长、低代码是重要趋势

喜欢就关注我们吧&#xff01;OReilly 发布了一份《2021 年编程、运维、AI 和云计算的发展方向》报告&#xff0c;该报告基于 OReilly 在线学习平台产生的数据&#xff0c;就技术行业的趋势进行了一番分析。编程语言方面&#xff0c;报告从使用情况、使用量的同比增长以及搜索查…

python中list的意思_list在python中是什么意思

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置&#xff0c;或索引&#xff0c;第一个索引是0&#xff0c;第二个索引是1&#xff0c;依此类推。 Python有6个序列的内置类型&#xff0c;但最常见的是列表和元组。 序列都可以进行的操作包括索引&a…

cad必练10张图_CAD比例问题大详解!赶紧收藏!

下面我们来按照从小白的起点学习比例问题&#xff1a;对于比例问题&#xff0c;最关键的一点&#xff0c;就是要弄明白「现实世界」「CAD 的虚拟模型空间」「打印出来的图纸」这三个世界之间的关系。弄明白了这个&#xff0c;一切就迎刃而解了。「现实世界」和「打印出来的纸质…

腾讯招.NET5,居然要求精通MySQL,而不是SQLServer!

春节将至&#xff0c;短暂的2020年正式要宣告结束&#xff0c;展望2021&#xff0c;可谓风起云涌&#xff0c;可以预见.NET5和云原生将是大热话题&#xff0c;NET开发者该如何把握机遇&#xff1f;逛逛招聘网站&#xff0c;看看大厂招聘&#xff0c;这是市场风向标。该学习的东…

32位mysql安装包_MySQL安装指南(CPT103)

随着CPT课程逐步开课&#xff0c;小猿发现了Online 大概等于 Self Learning 的状况&#xff0c;IT相关课程的学生们只能野蛮生长了(悲)。MySql作为一款应用级的软件&#xff0c;在Windows系统上安装过程比较繁琐&#xff0c;写篇文章帮大家避些小猿踩过的坑。MySQL收费&#xf…

Apache ECharts顺利毕业,成为ASF顶级项目

喜欢就关注我们吧&#xff01;1 月 26 日晚&#xff0c;Apache 基金会官方宣布 ECharts 项目正式毕业&#xff0c;成为 Apache 顶级项目。ECharts 是一款基于 JavaScript 的数据可视化图表库&#xff0c;提供直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性化定制的…

契税申报期限_税局正式公告!财产和行为税合并纳税申报!附税种申报要点

税局正式公告&#xff01;财产和行为税合并纳税申报&#xff01;安徽省、重庆市等地&#xff0c;11月23日都发布了《关于实行财产和行为税合并纳税申报的公告》一、申报方式&#xff1a;财产和行为税合并申报 二、申报税种&#xff1a;申报缴纳城镇土地使用税、房产税、车船税、…