• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jingyulong
V2EX  ›  程序员

请求筛选模块被配置为拒绝包含双重转义序列的请求

  •  
  •   jingyulong · Dec 21, 2018 · 1856 views
    This topic created in 2708 days ago, the information mentioned may be changed or developed.

    今天部署一个 node 的网站,网站部署在 IIS 上。后面打开有一些报错。 F12 查看了下,请求 URL: http://localhost:80/static/js/++5l.1e05875d.js 返回 404. 服务器上访问这个地址,出现如下提示:

    HTTP 错误 404.11 - Not Found
    请求筛选模块被配置为拒绝包含双重转义序列的请求。
    
    最可能的原因:
    该请求包含双重转义序列,而 Web 服务器上配置的请求筛选拒绝双重转义序列。
    

    后面谷歌了一下,结果大部分都是建议把 requestFiltering@allowDoubleEscaping 设置打开。

    微软官方也不建议这么做,可以查看: https://support.microsoft.com/zh-cn/help/942076/error-message-when-you-visit-a-web-site-that-is-hosted-on-iis-7-0-http

    后面看到,其实这个设置是来防止通过 url 进行代码注入的,HTML injection, JavaScript injection or SQL injection 等。

    所以,最好的解决方案是把请求中的'+'号给编码。但是这个是用 webpack 打包,自动生成的,不知道去哪里修改。有 V 友有办法,或者其他好的建议吗?

    第一次弄这个,不熟,轻喷。。。。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5270 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 07:06 · PVG 15:06 · LAX 00:06 · JFK 03:06
    ♥ Do have faith in what you're doing.