我正在构建一个与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()
会做的伎俩.