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

网站建站网站网站建设及报价格方案

网站建站网站,网站建设及报价格方案,上海网站设计建设,如何给wordpress写权限文章目录 1.反跨站请求伪造1.1 攻击过程1.2 攻击核心1.3 如何防御1.4 使用AntiforgeryToken机制来防御用到的类 2. 防开发重定向共计2.1 攻击过程2.2 攻击核心2.3 防范措施 3.防跨站脚本3.1 攻击过程3.2 防范措施 4.跨域请求4.1 同源与跨域4.2 CORS过程4.2 CORS是什么4.3 CORS请… 文章目录 1.反跨站请求伪造1.1 攻击过程1.2 攻击核心1.3 如何防御1.4 使用AntiforgeryToken机制来防御用到的类 2. 防开发重定向共计2.1 攻击过程2.2 攻击核心2.3 防范措施 3.防跨站脚本3.1 攻击过程3.2 防范措施 4.跨域请求4.1 同源与跨域4.2 CORS过程4.2 CORS是什么4.3 CORS请求头4.4 CORS响应头4.5 默认支持的Expose Headers 1.反跨站请求伪造 1.1 攻击过程 1.2 攻击核心 用户已经登录好站点好站点通过Cookie存储和传递身份信息用户访问了坏站点 1.3 如何防御 不使用Cookie来存储和传输身份信息使用JWT认证使用AntiforgeryToken机制来防御避免使用Get作为业务操作的请求方法 浏览器每次请求都会携带Cookie,这是我们控制不了的而Jwt的Token则需要在同域下的脚本才能发起需要在同域下运行脚本从token的存储里面去获取的比如localstorage这样的存储 1.4 使用AntiforgeryToken机制来防御用到的类 ValidateAntiForgeryTokenAutoValidateAntiforgeryToken // startup public void ConfigureServices(IServiceCollection services) {// 防止跨站请求伪造的策略配置services.AddAntiforgery(options {options.HeaderName X-CSRF-TOKEN;//}); }// 开启全局AntiForgeryToken验证 //services.AddMvc(options options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute()));如果不希望全局开启AntiForgeryToken验证,可以在API上通过特性设置 [Authorize] [ValidateAntiForgeryToken]//这里进行AntiForgeryToken验证 public IActionResult CreateOrder(string itemId, int count) {... }2. 防开发重定向共计 2.1 攻击过程 2.2 攻击核心 “好站点”的重定向未验证目标URL用户访问了“坏站点” 2.3 防范措施 使用LocalRedirect来处理重定向验证重定向的目标域名是否合法 LocalRedirect处理的重定向仅限于本站也就是它的重定向不能跨站所以不会重定向到坏站点 [HttpPost]public async TaskIActionResult Login([FromServices]IAntiforgery antiforgery, string name, string password, string returnUrl){HttpContext.Response.Cookies.Append(CSRF-TOKEN, antiforgery.GetTokens(HttpContext).RequestToken, new Microsoft.AspNetCore.Http.CookieOptions { HttpOnly false });var identity new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);//一定要声明AuthenticationSchemeidentity.AddClaim(new Claim(Name, 小王));await this.HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(identity));if (string.IsNullOrEmpty(returnUrl)){return Content(登录成功);}try{// 使用LocalRedirect处理,如果出现异常,重定向到首页,避免站点跳转到外部站点// 如果我们需要跳转到其它站点时,我们需要验证returnUrl合法性,然后使用Redirect进行跳转return LocalRedirect(returnUrl);}catch{return Redirect(/);}//return Redirect(returnUrl);} 3.防跨站脚本 3.1 攻击过程 3.2 防范措施 对用户提交内容进行验证拒绝恶意脚本对用户提交的内容进行编码UrlEncoderJavaScriptEncoder慎用HtmlString和HemlHelper.Raw身份信息Cookie设置为HttpOnly避免使用Path传递带有不受信的字符使用Query进行传递 public void ConfigureServices(IServiceCollection services) {services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, options {options.LoginPath /home/login;options.Cookie.HttpOnly true;}); } 4.跨域请求 4.1 同源与跨域 方案相同(HTTP/HTTPS)主机(域名)相同端口相同 如果方案、主机域名、端口这个三个都相同则认为两个域名是同源的如果三者中有任意一个不同则认为请求是跨域的 4.2 CORS过程 浏览器发起了一个请求访问了abc.com的网站网站给予返回响应那么浏览器当前就处于abc.com这个主域名下。这时如果向efg.com网站发起一个http ajax请求这时则认为这是一个跨域请求。 浏览器在发起跨域请求前会向efg.com发起一个基于HTTP option的预检请求efg.com收到预检请求后会根据当前预检请求的一些信息如主域header身份认证信息等去判断是否允许跨域请求如果efg.com允许发起跨域请求浏览器会正式地向efg.com发起我们要求的跨域请求这时efg.com会响应正常的页面Api信息 4.2 CORS是什么 CORS是浏览器允许跨域发起请求“君子协定”它是浏览器行为协议它并不会让服务器拒绝其它途径发起的HTTP请求开启时需要考虑是否存在被恶意网站工具的情形 CORS影响的是浏览器是否允许在其它域下面通过脚本来发起跨域的请求 4.3 CORS请求头 Origin请求源 ⇒ 指的是当前主域的地址Access-Control-Request-Method ⇒ 希望的请求方法Access-Control-Request-Headers ⇒ 希望请求发起的请求头 4.4 CORS响应头 Access-Control-Allow-Origin ⇒ 是否允许跨域Access-Control-Allow-Credentials ⇒ 是否允许携带认证信息如cookie 信息Access-Control-Expose-Headers ⇒ 是否允许跨域请求的脚本访问到响应头默认情况会暴露一些默认的头部信息Access-Control-Max-Age ⇒ 跨域响策略时间Access-Control-Allow-Methods ⇒ 允许的Http方法Access-Control-Allow-Headers ⇒ 允许的header 4.5 默认支持的Expose Headers Cache-ControlContent-LanguageContent-TypeExpiresLast-ModifiedPragma // startup public void ConfigureServices(IServiceCollection services) {services.AddCors(options {options.AddPolicy(api, builder {// WithOrigins允许跨域的源//AllowAnyHeader 允许发起任何header// AllowCredentials 允许身份认证,发起的请求会自动携带域下面的cookie信息// WithExposedHeaders 设置脚本允许访问的响应header列表builder.WithOrigins(https://localhost:5001).AllowAnyHeader().AllowCredentials().WithExposedHeaders(abc);// 允许跨域的源设置为任意builder.SetIsOriginAllowed(orgin true).AllowCredentials().AllowAnyHeader();});}); }// 设置中间件 public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {...app.UseCors();// 注册尽量靠前,放在routing之后 }// 使用 [Authorize] [HttpPost] [EnableCors(api)]// 也可以设置在Controller上 //[DisableCors] //不允许跨域 public object PostCors(string name) {return new { name name DateTime.Now.ToString() }; }
http://www.hkea.cn/news/14368286/

相关文章:

  • 做告状网站网站开发信息
  • 做网站的费属于什么费用移动界面设计案例
  • 合肥最好的网站建设公司哪家好wordpress修改站标在哪个文件
  • 郑州做网站比较专业的机构wordpress 云虚拟主机
  • 网站优化新闻桂林漓江风景区
  • 企业可以做哪些网站c2c代表性企业网站
  • 制作英文网站费用泰安信息平台体温
  • 如何建网站要什么条件忒低网站长怎么做
  • 浙江英文网站建设88个seo网站优化基础知识点
  • 上海网站seo招聘机构网站建设
  • 汽车销售服务东莞网站建设网站做301打不开
  • 招商局网站建设管理总结陶艺品网站模板
  • 辽阳专业网站开发公司游戏网站模板源码
  • 在哪个网站上做苗木生意好些永久免费白嫖云服务器
  • 国外网站怎么注册浙江新中环建设有限公司 网站
  • 1有免费建网站选择宁波seo优化公司
  • 房地产市场信息管理平台seo培训学校排名
  • 上海 建网站wordpress主题界面
  • 瑞安外贸网站建设企业服务包括哪些方面
  • 说说网站建设百度收录减少问题温州快速建站公司
  • 网站建设实录音乐网站流量分析方法
  • 安徽住房和城乡建设厅注册网站有关互联网网站
  • 灰色行业做网站wordpress做api接口
  • 以下属于网站页面设计的原则有挖金矿游戏网站建设
  • 苏州建设档案馆官方网站殡葬类网站建设
  • 深圳网站建设公司哪好企业质量文化建设
  • 江苏网站优化班级网站主页怎么做
  • 做网站需要懂程序吗免费微信小程序开发平台
  • 营销型网站 平台网站权重怎么做
  • html网站后台管理系统网店运营以后可以做什么