혹시 django 로 배포시에 static file 들 url을 감춰주는 툴이 있나요? 이

 
Seungho Kim

혹시 django 로 배포시에 static file 들 url을 감춰주는 툴이 있나요? 이왕이면 자동으로 css와 js 파일을 compress 해주면 좋을 듯 합니다. ㅎㅎ 로컬에서 수정은 일반 파일에 그냥 하고 배포하면 알아서 minify 파일을 만들어서 배포하는….

  • Chinseok Lee

    http://django_compressor.readthedocs.org
    를 통해 collectstatic 명령을 지원합니다. 설정을 통해 커피스크립트, sass 등과의 연계도 가능합니다.

    Han SuHun

    diango-pipeline

    Donghyun Cho

    Chinseok Lee 님의 글에 더 추가한다면, Offline Compression으로 하기를 적극 권장합니다. SASS나 LESS와 연동이 되긴 하는데 서버 재시작 후 페이지를 새로 로드하는 경우 많은 리소스를 사용하여 딜레이가 생기게 되고, CDN이나 Load Balancer를 사용하는 등의 여러 경우에서도 마찬가지로 Offline Compression을 사용하는 것이 좋습니다. Fabric같은 deploy scrtip를 사용하시면 불편하진 않을꺼에요.

    Seungho Kim

    Donghyun Cho 저도 compression 을 찾아봤었는데 이건 url은 못 감추지 않나요???

    Donghyun Cho

    url을 감춰야 하는 이유가 있나요? static 파일들을 쓰는 이유 중 하나는 브라우저가 파일들을 캐쉬하여 페이지 로딩을 빨리할 수 있는 장점인데요.. url을 감춘다는 말은 html파일 자체에 js및 css파일을 추가한다는 말인가요? 제가 이해가 잘 안되네요.. ^^; 조금 더 자세한 설명 부탁드려요.

    Chinseok Lee

    저도 url 을 감춘다는 것이 무슨 말씀이신지 잘 모르겠네요. // compress 가 되면, /CACHE/css/5a4ef03dc709.css 와 같은 경로로 생성됩니다.

    Seungho Kim

    Donghyun Cho 완벽하게 감출수는 없겠지만, 이미지나 특정 데이터의 크롤/파싱을 방지하기 위해서 일정시간마다 해당값을 hash 값으로 바꿔서 배포하는 뭔가가 없을까 해서요. ㅎㅎ 찾아보고 없으면 만들려구요 ㅋㅋ

    Donghyun Cho

    이미지 같은 경우는 signed url을 사용하여 expiration을 설정하여 사용할 수 있습니다. 해당 url이 예를들면 5분만 유효한거죠. 이건 js나 css파일에 사용하기엔 힘들지 않을까요? 의미가 없는듯 합니다.

    Jamie J Seol

    저는 webassets를 사용합니다

    Myunghun Cha

    django compressor 요!

    Han SuHun

    어짜피 css, js, image 모두 웹 브라우저에서 제공하는 inspector 를 사용하면 쉽게 따낼 수 있기 때문에 소용없어요.

    Seungho Kim

    Han SuHun 당연히 web 으로 배포하는데 100% 막을 수 있을꺼라 생각 안합니다. 다만, 데이터가 중요한 서비스라 로봇으로 가져가는건 막아 볼려구요.

    Hyun-woo Park

    퍼포먼스에 제약조건이 없다면 모든 static file 서빙을 웹서버가 아니라 애플리케이션 수준에서 제한하는 것도 방법이라고 봅니다. (UA, 세션 검사 등)

    Kwon-Han Bae

    로봇으로 가져가는건 못막습니다.

    Kwon-Han Bae

    activex 를 쓰시던지해야..

    Donghyun Cho

    일반 검색엔진의 크롤링을 막으려면 robots.txt나 html meta 테그의 robots 속성을 셋업하시면 되고, 데이터가 중요하다면 authentication이나 authorization으로 해결해야하지 않을까요? static파일이나 데이터는 브라우저가 파싱을 해야하기 때문에 어쩔수 없이 노출이 됩니다.

    Seungho Kim

    Donghyun Cho 답변 감사합니다. 검색엔진의 크롤링이나 웹브라우저에서 노출을 막으려는게 아니라 불법으로 데이터를 수집해가는걸 막으려고 하는겁니다. 나와있는 것중에서는 마음에 드는게 없어서 아마 만들어야 할듯 합니다. ㅎㅎ

    Donghyun Cho

    봇도 parse된 결과물을 갖고가는 것일텐데 어떻게 막을 수 있을 지 궁금하네요. 질문의 취지를 제가 이해를 잘 못해서 머라 답변드리기가 힘드네요. 해결하시게 되면 공유 부탁드려도 될까요? ^^ happy coding하세요.

    Kwon-Han Bae

    active 나 기타 plugin 을 쓰지 않고 가능하다면 저도 궁금합니다.

    Seungho Kim

    Kwon-Han Bae active X는 당연히 아니고. Django Tool로 만들려고 로직 구상중입니다. ㅎㅎ

Advertisements