Querystring中的Guid正在以某种方式进行转换

Zip*_*ppy 9 .net c# asp.net iis firewall

我不确定为什么会发生这种情况,但这里有一些细节可能有助于找到解决方案:

  • 它似乎在大多数计算机firefox和IE上正常工作
  • 当其他人工作时,某些Guids会发生这种情况
  • 我们将防火墙置于监控模式并仍然发生

这是构建查询字符串的PageModify.aspx中的行:

Response.Redirect(string.Format("Editor.aspx?id={0}", pageId,
    CultureInfo.CurrentCulture));
Run Code Online (Sandbox Code Playgroud)

一切正常后,这是查询字符串的输出:

https://example.com/Editor.aspx?id=1dfz342b-3a4d-4255-8054-93916324afs6
Run Code Online (Sandbox Code Playgroud)

这是重定向到Editor.aspx时在浏览器中查看的内容:

https://example.com/Editor.aspx?id=1dfz342b-3a4d-xxxxxxxxxxxxxxx324afs6
Run Code Online (Sandbox Code Playgroud)

当然,当这一行运行时,我们得到一个无效的guid错误:

_PageEditId= new Guid(Request.QueryString["id"]);
Run Code Online (Sandbox Code Playgroud)

有没有人见过这个?可能是IIS设置?这里没有什么特别的,每个人的系统都有相同的基线.它发生在内部和外部客户身上.

Sha*_*ard -1

我认为-查询字符串值的字符无效,对其进行编码:

Response.Redirect(string.Format("Editor.aspx?id={0}", Server.UrlEncode(pageId),
CultureInfo.CurrentCulture));
Run Code Online (Sandbox Code Playgroud)