Intro

asp.net core data protection 扩展,基于 IDataProtector 扩展的数据保护组件,自动化的实现某些参数的保护

ParamsProtection

ParamsProtection 是为了保护 asp.net core webapi 项目的某些参数而设计的,也可以用来做一定程度上的反爬虫。

GetStarted

安装 nuget 包 WeihanLi.DataProtection

通过示例项目查看更多详细信息

跑起来示例项目,你可以直接在 sample 项目下运行 dotnet run 命令,在浏览器中访问 /api/values 路径,你会得到类似以下的响应结果

原来的业务代码里你什么都不需要做,还是直接返回原来的内容即可,原来的返回内容如下:

因为在启动的时候已经设置了 id 参数应该被保护,所以当你访问 /api/values/{id} 这个地址的时候,如果没有设置 AllowUnprotectedParams 为 true 的话,直接使用原始的 int 类型的 id 去访问就会得到一个 4xx(默认是412) 状态码的响应,如果用从 /api/values 返回的 id 的值去访问就会正常的拿到响应。

除此之外你可以设置被保护的值的过期时间,通过设置一个比较短的过期时间来一定程度上的反爬虫,有个不太友好的地方就是可能会一定程序上的影响用户体检,如果用户打开一个页面长期没有操作就可能会导致某些操作可能会失败,需要用户重新操作。

你也可以是 POST 或 PUT 请求中使用被保护的值,如果被保护的值已经过期,你会从服务得到一个 4xx(默认 412) 的响应。

More

你可以设置更多参数来更适合你的使用

你可以改变一些值来改变参数保护模式:

  • 设置 Enabled 为 false 以禁用参数保护

  • 修改 ProtectorPurpose 的值以改变 DataProtector 的 purpose

  • 设置 AllowUnprotectedParams 为 true 以允许原始参数的访问

  • 设置 InvalidRequestStatusCode 的值来改变不合法参数访问时响应的 Status Code

  • 修改 ExpiresIn 的值以改变已经保护的参数的值的过期时间

  • 设置 ProtectParams 的值来指定要进行参数保护的参数名称

Contact

Contact me: weihanli@outlook.com

原文地址:https://www.cnblogs.com/weihanli/p/webapi-params-protection.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

asp.net core webApi 参数保护相关推荐

  1. ASP.Net Core WebApi几种版本控制对比

    ASP.Net Core WebApi几种版本控制对比 原文:ASP.Net Core WebApi几种版本控制对比 一.版本控制的好处: (1)有助于及时推出功能, 而不会破坏现有系统. (2)它还 ...

  2. ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者 ...

  3. asp.net core WebAPI实现CRUD

    本节用于构建一个简单的WebAPI来管理to-do列表.不会创建用户界面. API Description Request body Response body GET /api/todo Get a ...

  4. 第十三节:Asp.Net Core WebApi基础总结和请求方式-第十八节

    一. 基础总结 1.Restful服务改造 Core下的WebApi默认也是Restful格式服务,即通过请求方式(Get,post,put,delete)来区分请求哪个方法,请求的URL中不需要写方 ...

  5. ASP.NET Core WebAPI控制器返回类型的最佳选项

    ASP.NET Core WebAPI控制器返回类型的最佳选项 原文:ASP.NET Core WebAPI控制器返回类型的最佳选项 前言 从.NET Core 2.1版开始,到目前为止,控制器操作可 ...

  6. 【转】ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

    原文链接:https://www.cnblogs.com/yilezhu/p/9241261.html 引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必 ...

  7. ASP.NET Core WebApi构建API接口服务实战演练

    一.ASP.NET Core WebApi课程介绍 人生苦短,我用.NET Core!提到Api接口,一般会想到以前用到的WebService和WCF服务,这三个技术都是用来创建服务接口,只不过Web ...

  8. asp.net core webAPI学习笔记(三)资源请求

    IDE 版本:Visual Studio 2017 15.9.7 asp.net core 版本 2.1.1 本文档说明需在 asp.net core webAPI学习笔记(一)项目搭建 的基础下进行 ...

  9. Vue + Element+ ASP.NET Core WebAPI 文件上传下载

    以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备asp.net后端文件上传的API Uplo ...

最新文章

  1. 深入Java调试体系之JDWP协议及实现
  2. javascript判断对象、字符串、数组是否为空(兼容绝大部分浏览器)
  3. 3DSlicer14:Loadable Module
  4. boost::graph模块BC聚类算法程序的实现
  5. HDU1425 A Chess Game
  6. 安全左移理念,鹅厂 DevSecOps 如何实践?
  7. How org unit id and type is determined in Genil
  8. python parser count_8 个 Python 实用脚本,早掌握早下班!
  9. springboot接收多对象_springboot实现邮件发送
  10. 外企程序员常用英语单词
  11. hdu 2037 今年暑假不AC 贪心)
  12. Log Parser 2.2 + Log Parser Lizard GUI 分析IIS日志示例
  13. Mix-In的译法探讨
  14. Ubuntu 14.04 T430s 安装指纹识别
  15. [笔]蔚来汽车网络笔/面试题汇总解答
  16. 《绝望的主妇》大结局 无惊喜无亮点美满为主线
  17. You are 87% Sagittarius
  18. 搞笑!from 饮水思源
  19. 给B2C网站企业的一点建议
  20. 京东 java开发 待遇_【京东金融工资】java开发工程师待遇-看准网

热门文章

  1. 矿难让显卡压了那么多货咋办?NV如是说
  2. 【Redis源码分析】Redis命令处理生命周期
  3. yii之behaviors
  4. jsonp-反向代理-CORS解决JS跨域问题的个人总结
  5. Linux 内核中断内幕【转】
  6. 中国版LinkedIn呼之欲出
  7. java的linux执行的shell
  8. 远程控制利器TeamViewer使用教程(图)
  9. 微软职位内部推荐-Software Development Engineer 2
  10. 使用easyUI 格式化datagrid列