相关疑难解决方法(0)

使用C#进行URL编码

我有一个应用程序向VB论坛软件发送POST请求并记录某人(没有设置cookie或任何东西).

一旦用户登录,我创建一个在其本地计算机上创建路径的变量.

C:\ tempfolder \日\用户名

问题是一些用户名正在抛出"非法字符"异常.例如,如果我的用户名是,mas|fenix它会抛出异常..

Path.Combine( _      
  Environment.GetFolderPath(System.Environment.SpecialFolder.CommonApplicationData), _
  DateTime.Now.ToString("ddMMyyhhmm") + "-" + form1.username)
Run Code Online (Sandbox Code Playgroud)

我不想从字符串中删除它,但是在服务器上通过FTP创建了带有用户名的文件夹.这导致了我的第二个问题.如果我在服务器上创建一个文件夹,我可以留下"非法字符"吗?我只是问这个,因为服务器是基于Linux的,我不确定Linux是否接受它.

编辑:似乎URL编码不是我想要的..这是我想要做的:

old username = mas|fenix
new username = mas%xxfenix
Run Code Online (Sandbox Code Playgroud)

其中%xx是ASCII值或任何其他可以轻松识别字符的值.

.net c# urlencode

316
推荐指数
11
解决办法
56万
查看次数

url中的双转义序列:请求过滤模块配置为拒绝包含双转义序列的请求

在我的ASP.NET MVC应用程序上,我正在尝试实现如下的URL:

/产品/标签/为+家庭

当我尝试使用默认配置运行我的应用程序时,我收到404.11响应代码的消息:

HTTP错误404.11 - 未找到

请求过滤模块被配置为拒绝包含双转义序列的请求.

我可以通过在web.config中实现以下代码来解决此错误:

  <system.webServer>
    <security>
      <requestFiltering allowDoubleEscaping="true" />
    </security>
  </system.webServer>
Run Code Online (Sandbox Code Playgroud)

所以,现在我没有得到任何404.11.

我想知道的是,我正在用这种实现打开什么样的安全漏洞.

顺便说一句,我的应用程序正在.Net Framework 4.0运行IIS 7.5.

asp.net iis asp.net-mvc iis-7 asp.net-mvc-3

78
推荐指数
3
解决办法
7万
查看次数

标签 统计

.net ×1

asp.net ×1

asp.net-mvc ×1

asp.net-mvc-3 ×1

c# ×1

iis ×1

iis-7 ×1

urlencode ×1