我有一个使用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上。
发布于 2019-10-25 07:11:33
我通过编码我要发送的值(如%)并解码它来解决这个问题,因此它将替换值%
发布于 2019-10-22 02:33:45
据我所知,IIS出于安全原因引入了URL过滤规则。默认情况下,“%”作为URL中安全原因的一部分而被阻塞。
我建议您可以尝试使用下面的配置设置来允许“%”。
<system.webServer>
<security>
  <requestFiltering allowDoubleEscaping="true">
  </requestFiltering>
</security>
</system.webServer>如果这不能解决您的问题,请张贴详细错误信息和状态代码,以便我们找到解决方案。
https://stackoverflow.com/questions/58491670
复制相似问题