首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何允许“%”传入IIS

如何允许“%”传入IIS
EN

Stack Overflow用户
提问于 2019-10-21 17:49:20
回答 2查看 103关注 0票数 1

我有一个使用DJANGO开发的web应用程序。在DJNAGO测试服务器上,一切都运行得很好。但是,我试图将它托管在IIS web服务器上,但它只解决了一个问题。

我有一个表单(用户输入),我希望允许用户输入通配符,比如SCA80 80%。问题是,我得到404错误,似乎IIS阻止它,因为URL包含%签名。

如何使IIS不检查%,而不考虑安全性问题?有什么简单的办法来解决这个问题吗?

当我用通配符发送请求时,URL就是这样的:

/pareto/article-description/SAC80%25/?type=failure&is_article_desc=True

如果我删除%25并将整个SAC80RKEU211放入其中,一切都可以工作。即使我在django开发服务器上,%25也能工作。但不是在IIS上。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-25 07:11:33

我通过编码我要发送的值(如%)并解码它来解决这个问题,因此它将替换值%

票数 1
EN

Stack Overflow用户

发布于 2019-10-22 02:33:45

据我所知,IIS出于安全原因引入了URL过滤规则。默认情况下,“%”作为URL中安全原因的一部分而被阻塞。

我建议您可以尝试使用下面的配置设置来允许“%”。

代码语言:javascript
运行
复制
<system.webServer>
<security>
  <requestFiltering allowDoubleEscaping="true">
  </requestFiltering>
</security>
</system.webServer>

如果这不能解决您的问题,请张贴详细错误信息和状态代码,以便我们找到解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58491670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档