如何在UWP应用程序中编码/解码url字符串
我正在构建一个与Web-Api通信的UWP应用程序。 在某些点,我在URL中发送一个字符串到Web-Api,可以由用户操作。 因此,字符串可以包含可以对Web-Api做恶事的字符。
例如:
这是我的UserController
[Route("api/user/{uid}")] public User GetUser(string uid) { return userRepository.GetByUid(uid); }
为了这个例子,我们假设用户可以在文本框中手动输入uid
。 现在,如果他投入
../vipuser
他可以访问VipUserController。 因为../
是一个hirachy。
我搜索了一下,发现这篇SO文章推荐使用System.Web.UrlEncodeUnicode
和System.Web.UrlDecode
。
但是由于UWP Apps不包含System.Web
命名空间,我想知道是否有替代方法,我可以将其用于UWP-App?
Uri.EscapeDataString()
和Uri.UnescapeDataString()
将成功。