分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

防止开放重定向,恶意篡改returnUrl

发布时间:2023-09-06 01:44责任编辑:蔡小小关键词:暂无标签

只能判断相对路径:http://localhost:6666/Account/Login?returnUrl=/User/Index

不能判断绝对路径:http://localhost:6666/Account/Login?returnUrl=http://localhost:6666/User/Index

1.防止开放重定向:

/// <summary>/// 防止开放重定向(来自Mvc中的UrlHelper.IsLocalUrl)/// </summary>/// <param name="url"></param>/// <returns></returns>public static bool IsLocalUrl(string url){ ?return !string.IsNullOrEmpty(url) && ((url[0] == ‘/‘ && (url.Length == 1 || (url[1] != ‘/‘ && url[1] != ‘\\‘))) || (url.Length > 1 && url[0] == ‘~‘ && url[1] == ‘/‘));}

  

2.使用方法:

public void Login(string userName,string password, string returnUrl){//logic code//validate userName passwordif (!string.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl) ){return Response.Redirect(returnUrl);}return Response.Redirect("/");}

  

防止开放重定向,恶意篡改returnUrl

原文地址:https://www.cnblogs.com/slwangzi/p/8496508.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved