Team/난감했던 이슈들

[ IIS ] URL 인코딩시 파싱 에러

HEON.D 2023. 12. 15. 12:47

 

스택오버플로우에서 검색한 결과 IIS 7.5 이상에선 보안사유로 URL 필터링 설정이 되어있다고 한다. "+" 기호를 사용하려면 아래와 같이 web.config 파일에 allowDoubleEscaping 값을 추가해줘야 한다.

출처: https://ddochea.tistory.com/75 [또치의 삽질 보관함:티스토리]

  <security>
    <requestFiltering allowDoubleEscaping="true">
    </requestFiltering>
  </security>

<?xml version="1.0" encoding="utf-8"?>
<configuration>

<system.webServer>
  <security>
    <requestFiltering allowDoubleEscaping="true">
    </requestFiltering>
  </security>
  <rewrite>
    <rules>
      <rule name="Angular Routes" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAny">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          <add input="{REQUEST_URI}" pattern="^/auth/([^/]+)$" />
        </conditions>

        <action type="Rewrite" url="./index.html" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

</configuration>

 

https://ddochea.tistory.com/75

 

[IIS] IIS는 URL인코딩에서 "+" 와 공란을 구분하지 못한다.

웹 개발을 하는사람들은 한번쯤 고생해보는 통과의례가 있다. URL인코딩. 문자열을 %코드로 바꾸기 때문에 퍼센트인코딩이라고도 불린다. https://ko.wikipedia.org/wiki/%ED%8D%BC%EC%84%BC%ED%8A%B8_%EC%9D%B8%EC%BD

ddochea.tistory.com

https://serverfault.com/questions/101074/server-not-recognizing-2b-as-valid-image-path

 

Server not recognizing %2b as valid image path

Running IIS 7 I'm running on a shared hosting account and I have a file on my server named +.jpg but when I try to navigate to it via the URL http://example.com/images/%2b.jpg The server does...

serverfault.com