사실 사이트 일부를 파싱해가는 행위가 별 대단한 일은 아닙니다.

하지만 그러한 행위를 하는 곳이 수십군데, 수백군데가 된다면 예삿일이 아니죠.

웹 방화벽을 운영중에 있긴한데 파싱해가는걸 막을 방법이 마땅히 없는게 문제입니다.

일반 방문처럼 위장된 채로 사이트를 파싱해가면

아이피를 특정해서 차단하기도 어렵고 이게 정말 애매한 상황입니다.

 

파싱에 대한 방어, 어떻게 생각들 하시는지요.

  • profile

    파싱방어는 칼과 방패의 싸움입니다. 파싱을 원천적으로 막는건 서버상에서 클라이언트가 데이터를 받아올 수 있다면 불가능하다고 보면 됩니다.

    기본적인 방법으로는

    초당 요청수가 일정수 이상이면 차단
    봇 유저어젠트 확인
    gzip 압축사이트일경우 초보개발자의 경우 헤더에 gzip 헤더를 없에고 요청합니다, gzip 헤더가 없으면 차단하는 방법
    같은 방법이 있습니다만 초보개발자가 아니라면 대부분 뚫습니다.

     

    그리고 데이터를 변조하는경우 자바스크립트단에서 다시 원본으로 해석해줘야하기때문에 어쩔수 없이 뚫립니다.

    Nginx Token과 같은 서버단에서의 방어도 요청하는 순간에 받아오면 게임끝입니다.

     

    웬만한건 그냥 요청만 보면 뚫린다고 보면 됩니다.

  • profile profile
    초당 요청수도 별로 없어서 확인이 어렵고
    유저에이전트도 속이고 들어오니 어렵고... ^^;;
    허황된 상상일지는 모르겠지만 실시간으로 사이트내 게시물 url을 계속 변경해주는 방법이 있다면 어떨까 싶습니다.(기술적으로 잘 몰라서 그냥 상상해본겁니다.ㅎ)
  • profile profile
    게시글 URL을 바꾸더라도 기본적으로 설정되어있는 사이트 주소가 있고 링크로 되있는한은 목록을 얻어오면 게임끝입니다.
  • profile

    기본적으로 웹은 양방향 통신입니다.

    클라이언트가 접속요청을 보내지 않았다면 서버는 클라이언트에 사이트의 내용을 보내주지 않습니다.

    더 쉽게 비유를 하자면 문이 달려있는 개인 주택집입니다.

    데이터를 받으려면 문을 두드려서 집주인에게 허락을 맡아야 집 안에 들어올 수 있습니다.
    집 안에 들어올때는 받을려는 물건(요청 주소) 이름(IP 주소) 외모(유저어젠트) 어디서 소문을 듣고 왔는지(리퍼러)를 듣고 해당 물건을 줍니다.

    집의 문에서 얼쩡거리는(초당 요청수가 기준을 넘으면) 외부인이라면 차단을 하고 외모가 수상적으면 차단을 합니다.

    그 외 문을 두드리기만 하고 물건을 받지않는다거나 하는 일반적이지 않는 요청을 차단하는 방법이 있습니다.

    데이터를 변조하는것은 물건을 보기 어렵게 만드는것입니다, 물건에 자물쇠를 건다면 정상적으로 물건을 달라는사람도 확인을 할 수 없습니다. 결국 집 바로 앞에 이 물건의 내용을 확인 할 수 있는 해석기를 달아줘야합니다.

  • profile

    결국은 방문을 아예 잠그고 가족이 아니라면 받지못하게 하거나 집을 허물지 않는다면 결국은 해답은 단 하나입니다.

    물건을 열어보기 힘들게 하고 집 앞에 있는 해석기가 어떻게 돌아가는지 확인하기 어렵게하는방법밖에 없습니다.

  • profile
    HTTP는 일반적으로 요청을 받으면 연결을 유지하지 않습니다. TCP 기반의 소켓이 아니라면 사용자가 물건을 달라고 한 이외의 행동은 확인할 수 없습니다. TCP 기반의 소켓이라도 사용자가 어떤행동을 하는지 확인할 수 있는 범위는 매우 제한적입니다.
  • profile

    웹에 비해 응용프로그램은 컴퓨터에 요청 할 수 있는 권한이 훨씬 많습니다.
    엑티브X나 응용프로그램이 있습니다, 이러한 불편을 감수할 수 있다면 프로그램단위로 가능합니다.

     

    집 밖으로 나와서 외부인의 손에 수갑을 채울 수 있고 뒤에서 밀어서 사용자가 원하지 않는 행동을 할 수 있습니다.

     

    아니면 플래시도 가능합니다만 아마 가격이 배로뛸겁니다.

  • profile profile
    그냥 파싱해가라고 냅둬야되겠습니다.^^;;;
  • profile
    본문을 js 암호화해서 쓰면됩니다.
  • profile
    간단하게 파싱되는 부분의 클래스나 해당 영역의 일부를 랜덤하게 문자를 삽입하거나?
  • ?
    역으로 생각하는 건 어떨까요??

    그림이나 동영상에 자신의 브랜드에 맞는 워터마크를 작성하는 것은 어떨까요??

    그러면 파싱이 되더라도~ 그 해당 사이트가 광고되고 원본출처를 광고하게 되는 사항이잔아요~

    아무리 방화벽을 철저하게 한다고해도 ... 차라리 역이용을 하는것이 않을까 개인적인 소견을 말해봅니다^^