当前位置: 首页 > news >正文

呼和浩特网站建设公司浏览器网页版在线使用

呼和浩特网站建设公司,浏览器网页版在线使用,律师事务所东莞网站建设,新手怎么入行sem欢迎来到《小5讲堂》#xff0c;大家好#xff0c;我是全栈小5。 这是2024年第3篇文章#xff0c;此篇文章是C#知识点实践序列文章#xff0c;博主能力有限#xff0c;理解水平有限#xff0c;若有不对之处望指正#xff01; 目录 前言数据丢失效果请求端代码接口端代码… 欢迎来到《小5讲堂》大家好我是全栈小5。 这是2024年第3篇文章此篇文章是C#知识点实践序列文章博主能力有限理解水平有限若有不对之处望指正 目录 前言数据丢失效果请求端代码接口端代码 数据编码效果请求端代码接口端代码 防止攻击 前言 上篇文章我们已经了解到如果不进行地址编码会存在数据丢失或者数据不正确的情况。 至于URL错误和安全问题以及兼容性问题暂不做探索这里只通过不编码解析情况探索。 数据丢失 这个比较好理解就是传递过去的地址参数值不全只有部分另一部分数据丢失的情况。 下面将演示A地方发起http地址的get请求传递未编码的地址参数在目标接口接收到参数值的效果 效果 假设地址参数为name张三小明age2021 完整请求地址为https://localhost:7250/WeatherForecast?name张三小明age2021 地址参数中的与符号是用来分隔不同参数变量等于符号后面是参数值。 从上图可以看到name参数的值应该是张三小明age参数的值应该是2021实际上获取到的值是name张三age20。 原因就是地址参数的值就是从等于号到下一个符号结束没有符号就是等于符号后面所有值。 因此如果网址地址参数在通过http请求方式调用接口不进行编码就很有可能会丢失数据。 请求端代码 private async Task HttpGet() {string urlValue $https://localhost:7250/WeatherForecast?name张三小明age2021;using (HttpClient client new HttpClient()){try{HttpResponseMessage response await client.GetAsync(urlValue);response.EnsureSuccessStatusCode(); // 确保请求成功否则会抛出异常string responseBody await response.Content.ReadAsStringAsync();Console.WriteLine(responseBody);}catch (HttpRequestException ex){Console.WriteLine($请求失败{ex.Message});}} }接口端代码 [HttpGet(Name GetWeatherForecast)] public IEnumerableWeatherForecast Get(string name, int age) {string urlParam Request.QueryString.Value;return Enumerable.Range(1, 5).Select(index new WeatherForecast{Date DateTime.Now.AddDays(index),TemperatureC Random.Shared.Next(-20, 55),Summary Summaries[Random.Shared.Next(Summaries.Length)]}).ToArray(); }数据编码 使用HttpUtility.UrlEncode进行数据编码 效果 从下图可以知道.net core mvc框架本身会自动对编码数据进行解码 请求端代码 编码后数据编码后发现无法调用到接口那是因为接口age参数接收的是整型数据因为框架有自己规则所以需要改为字符串类型 https://localhost:7250/WeatherForecast?name%e5%bc%a0%e4%b8%89%26%e5%b0%8f%e6%98%8eage20%2621 private async Task HttpGet() {string urlValue $https://localhost:7250/WeatherForecast?name{HttpUtility.UrlEncode(张三小明)}{HttpUtility.UrlEncode(age2021)};using (HttpClient client new HttpClient()){try{HttpResponseMessage response await client.GetAsync(urlValue);response.EnsureSuccessStatusCode(); // 确保请求成功否则会抛出异常string responseBody await response.Content.ReadAsStringAsync();Console.WriteLine(responseBody);}catch (HttpRequestException ex){Console.WriteLine($请求失败{ex.Message});}} }接口端代码 [HttpGet(Name GetWeatherForecast)] public IEnumerableWeatherForecast Get(string name, string age) {string urlParam Request.QueryString.Value;return Enumerable.Range(1, 5).Select(index new WeatherForecast{Date DateTime.Now.AddDays(index),TemperatureC Random.Shared.Next(-20, 55),Summary Summaries[Random.Shared.Next(Summaries.Length)]}).ToArray(); }防止攻击 地址参数发起是在攻击者他可以进行不编码传递这个怎么防止攻击可以采用以下措施。 1.进行输入检查和过滤 在服务端对传递的地址参数进行检查和过滤以确保它们符合预期格式、类型、范围和规则。例如可以检查参数是否是合法的URL或者做一定的输入数据格式的限制。 2.对地址参数进行编码 对地址参数进行URL编码或其他适合的编码以确保传递的数据是安全的且不会被攻击者利用。 3.使用HTTPS协议进行数据传输 使用HTTPS协议加密数据传输可以通过传输层或者网络层的加密来确保连接的安全性可以有效防止数据的中途被中间人攻击窃取提高防护能力。 4.避免在URL中传递敏感数据 避免在地址参数中传递敏感的数据比较敏感的数据最好在进行传递时是采用POST方式进行不要采用GET的方式。 总结温故而知新不同阶段重温知识点会有不一样的认识和理解博主将巩固一遍知识点并以实践方式和大家分享若能有所帮助和收获这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。
http://www.hkea.cn/news/14396711/

相关文章:

  • 微信公众号可以做几个微网站怎样做网站赚钱
  • 外贸 礼品 网站民非企业网站建设费怎么记账
  • 7个湖北seo网站推广策略重庆家居网站制作公司
  • 社区网站建设平台wordpress怎么做淘客网站
  • 邯郸哪有做网站的公司佛山做网站3lue
  • 网站建设三个阶段电子行业网站
  • 手机网站你懂网站建设合同管辖地
  • 品牌设计包括哪些方面公司关键词seo
  • 建微信网站上海传媒公司总裁是谁
  • 徐州营销网站建设报价江门广告网站推广技巧
  • 个人官方网站怎么建设华为等五家公司
  • 网站建设顺德公司企业邮箱有哪些
  • 网站建设指南视频教程ppt成品网站
  • 怎么建立网站数据库北京二级建造师查询系统
  • 住房建设局网站首页足球网站模板下载
  • 四川建设部网站官网网站虚拟主机购买教程
  • 网站开发信息农村做网站赚钱
  • 制作外贸网站模板下载在线制作网址免费
  • 网站广告位代码手机开发软件app的工具
  • 建网站合同王磊网络网站建设
  • 新城镇建设官方网站英文网站 正文字体大小
  • 营销型网站费用网上有做logo的网站吗
  • 贵州省住房和建设厅网网站成都洛可可设计有限公司
  • 网站主机和空间wordpress single 主题
  • 腾讯风铃网站建设最专业的营销网站建设价格
  • 汕头网站设计哪家好北京++网站建设咨询顾问公司
  • 合肥建设网站的公司开发网站流程
  • 有什么专业做蛋糕的网站吗wordpress实例网址
  • 招聘网站简历数据分析怎么做台州网红打卡地
  • 叶涛网站推广优化wordpress 卸载plugin