Extra Form
PHP PHP 7.2
CMS XpressEngine

RewriteRule ^files/(attach|config|cache/store)/.+\.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|(a|j)sp|inc)$ - [L,F]

 

이렇게 수정된 부분이 있습니다. nginx에 적용법 알려주세요.

  • ?
    헐 전문가 분께서 출동 하셔야 겠는데요

    저도 Nginx인데...
  • ? profile

    https://github.com/rhymix/rhymix/blob/master/common/manual/server_config/rhymix-nginx.conf

    .htaccess 와 비교해보니 정규식은 그대로 이고 문법 부분만 바뀌는 것 같네요.. 한번도 안해본거라.. 추측성...

     

    아..   ^/(  이부분도 살짝 다르군요...

  • ? profile

    다른거 컷닝해보니....

     

    location ~ ^/files/(attach|config|cache/store)/.+\.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|(a|j)sp|inc)$ {
    return 403;
    }

     

     

    이거가 아닐까 예상은 해봅니다만....

  • profile ?
    location이 아니라 rewrite으로 하시면 될것 같네요.
  • ? profile

    저희는 기존에
    location ~ ^/files/(attach|config|cache/store)/.+\.php$ {
    return 403;
    }

    이렇게 변환을 해서 사용중이라서요...  라이믹스도 이렇게 처리되어있습니다.

    이번에 코어가 패치가 본문처럼 된겁니다.

  • ?
    location ~ ^/files/(attach|config|cache/store)/.+\.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|(a|j)sp|inc)$ {
    return 403;
    }
  • ?
    이거 맞을겁니다
  • profile

    https://github.com/rhymix/rhymix/commit/f81a98cde34b7104ed5917939dcb6ca9ade4cdde#diff-203df37f44ad32ec8678b21fecf54d13

     

    nginx에서는 가능하면 rewrite보다는 location으로 처리하는 것이 정석입니다.

  • profile profile

    어라.. [aj]spx?|inc|bak 이부분이 좀 다른데 이유를 알 수 있을까요?

  • profile profile
    라이믹스에 적용하면서 한두가지 확장자를 추가로 필터링했습니다. 실행 가능한 확장자는 asp, jsp 뿐 아니라 aspx도 있으니까요. db.config.php를 수정하면서 db.config.php.bak으로 이름을 바꿔놓아 소스가 노출되는 경우도 은근히 많고요. [aj]는 (a|j)와 같은 의미입니다.
  • profile profile
    오. .bak xe 쓰는 사이트들에서는 설정파일은 .bak 로 보존하는 것 절대 하면 안되겠네요.
  • ?
    음.. 그래서 XE에서는 어디를 어떻게 수정하면 되는건가요??

    라이믹스는 기진곰님 글 참고하면 될것 같은데. Xe는 글을 봐도 잘 모르겠네요...

    누가 조언좀 부탁 드립니다...
  • ? profile

    기진곰님께 조금 더 고급스럽게 된거구요. 제것은 그냥 액면 그대로 변환 된 것 입니다.

    서버 nginx xe-rewrite 설정해 놓은 부분에 변경전 내용을 변경 후 로 바꾸시면 됩니다.

  • ? profile
    /etc/nginx/snippets/xe-rewrite.conf 일 거예요.
  • profile profile
    질문 무임승차 합니다 ㅋ
    이런 설정 변경 적용은 reload로 충분하죠??
  • profile profile
    넵!
  • profile ?
    #location ~ ^/files/(attach|config|cache/store)/.+\.php$ {
    # return 403;
    #}

    location ~ ^/files/(attach|config|cache/store)/.+\.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|[aj]spx?|inc|bak)$ {
    return 403;
    }

    말씀 하신 파일 내용을 기존껄 이렇게 주석처리하고

    붙여넣기 해서 만들어 봤습니다.

    그럼 된건가요?

    꼭 확인을 받아야 안심이 되어서요 ㅎㅎㅎ