gpt4 book ai didi

asp.net-mvc - 对于非 ASCII 字符串,UrlHelper.IsLocalUrl 方法始终返回 "false"

转载 作者:行者123 更新时间:2023-12-02 10:48:19 25 4
gpt4 key购买 nike

我最近检测到,如果 UrlHelper.IsLocalUrl 方法检测到 url 中的非 ASCII 字符,该方法始终返回 false 参数。

示例:

var isLocal = UrlHelper.IsLocalUrl("контакты"); //false

这是一个错误,还是“设计使然”?

最佳答案

最新的可用实现正在检查这些条件:

  • 网址以 "/" 开头,后面不跟 "/""\"
  • 或者网址以 "~" 开头,后跟 "/"

因此,传递给此方法的所有 URL 都必须以 "/""~/" 开头。

此外,如果您想知道,它不会考虑当前主机并检查例如 http 等方案。

更新:这是 UrlHelper.IsLocalUrl 使用的实现的链接 http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/600963a4df15#src/System.Web.WebPages/RequestExtensions.cs

关于asp.net-mvc - 对于非 ASCII 字符串,UrlHelper.IsLocalUrl 方法始终返回 "false",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12642436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com