我正在构建一个与Web-Api通信的UWP应用程序。在某些时候,我会向Web-Api发送包含用户可操纵的字符串的url。由于这个原因,该字符串可能包含一些可以对Web-Api造成危害的字符。
例如:
这是我的UserController
[Route("api/user/{uid}")]
public User GetUser(string uid)
{
return userRepository.GetByUid(uid);
}
为了方便起见,我们假设用户可以在文本框中手动输入
uid
。现在,如果他输入了:../vipuser
他可以访问VipUserController。因为
../
向上一级。
我查找了一下,发现这篇SO文章推荐使用System.Web.UrlEncodeUnicode
和System.Web.UrlDecode
。
但由于UWP应用程序不包括System.Web
命名空间,我想知道是否有替代方法可以在UWP应用程序中使用?