[scripting] 스크립터가 웹 사이트를 우회하는 것을 방지

답변을 수락했지만 안타깝게도 우리는 최악의 원래 시나리오 인 CAPTCHA 모두가 쓰레기를 구매하려고 시도 하고 있다고 생각 합니다 . 간단한 설명 : 캐싱 / 웹 팜을 사용하면 적중을 추적 할 수 없으며 캐시되지 않은 웹 표지를 보내거나 통합 된 테이블에 쓰는 등의 해결 방법으로 인해 봇보다 사이트 속도가 느려집니다. 높은 수준에서 도움을 줄 수있는 시스코 등의 고가의 하드웨어가있을 수 있지만, 보안 담당자가 모두 대안이라면 비용을 정당화하기는 어렵습니다. 나중에 더 자세한 설명을 시도하고 향후 검색자를 위해이를 정리할 것입니다 (커뮤니티 위키이므로 다른 사람들도 시도해 볼 수 있지만).

상태

이것은 woot.com의 가방 쓰레기 판매에 관한 것입니다. 저는 디자인을 수행하고 제품 설명, 팟 캐스트, 블로그 게시물을 작성하고 포럼을 운영하는 Woot의 자회사 인 Woot Workshop의 사장입니다. CSS / HTML로 작업하고 다른 기술에 대해서는 거의 익숙하지 않습니다. 나는 개발자들과 긴밀히 협력하여 여기에있는 모든 답변 (및 우리가 가진 많은 다른 아이디어)을 통해 이야기했습니다.

유용성은 내 직업의 큰 부분이며 사이트를 흥미롭고 재미있게 만드는 것이 나머지 부분입니다. 바로 아래 세 가지 목표가 도출 된 것입니다. 보안 문자는 사용성에 해를 끼치며 봇은 쓰레기 판매에서 즐거움과 흥분을 훔칩니다.

봇은 랜덤 크랩 판매를 위해 두 번째 화면 스크래핑 (및 RSS 스캔)을 앞 페이지 수십 번 밟고 있습니다. 그들이 보는 순간, 그것은 로그인하고, 내가 원하는 것을 클릭하고, 양식을 작성하고, 쓰레기를 사는 프로그램의 두 번째 단계를 촉발시킵니다.

평가

lc :이 방법을 사용하는 스택 오버플로 및 기타 사이트에서는 인증 된 (로그인 된) 사용자를 거의 항상 처리합니다.

Woot에서 익명 (로그되지 않은) 사용자는 우리 홈페이지를 볼 수 있습니다. 다시 말해, 슬래 밍 봇은 인증되지 않을 수 있습니다 (IP 주소를 제외하고 본질적으로 추적 할 수 없음).

따라서 우리는 IP 검색을 다시 시작합니다 .a)이 시대의 클라우드 네트워킹 및 스팸봇 좀비에서는 상당히 쓸모가 없습니다. 비 정적 IP ISP 및이를 추적하려는 잠재적 인 성능 저하).

아, 사람들이 우리를 불러주는 것이 최악의 시나리오 일 것입니다. 전화 할 수 있습니까?

BradC : Ned Batchelder의 방법은 매우 멋지지만 사이트 네트워크를 위해 구축 된 봇을 물리 치기 위해 매우 견고하게 설계되었습니다. 우리의 문제는 봇이 사이트를 무 찌르기 위해 특별히 만들어 졌다는 것입니다. 이러한 방법 중 일부는 스크립터가 허니팟을 무시하고 양식 ID 대신 근처 레이블 이름을 스크린 스크랩하고 자바 스크립트 가능 브라우저 컨트롤을 사용하도록 봇을 발전시킬 때까지 짧은 시간 동안 작동했을 수 있습니다.

 

lc 다시 : “물론, 과대 광고는 마케팅 계획의 일부가 아닙니다.” 그렇습니다. 아이템이 나타날 때의 놀라움과 아이템을 얻는 데 대한 흥분은 실제로 얻는 쓰레기보다 훨씬 중요합니다. 선착순을 제거하는 것은 쓰레기를 ‘승리’하는 스릴에 해 롭습니다.

 

노바 트러스트 : 저는 새로운 봇 대 군주를 환영합니다. 당사는 실제로 타사 앱이 사이트에서 제품 정보를 검색 할 수 있도록 RSSfeed를 제공하지만 기본 사이트 HTML보다 앞서 있지는 않습니다. 내가 올바르게 해석하면 솔루션 1은 목표 1을 완전히 희생하고 봇이 대부분의 쓰레기를 구입할 것이라는 사실을 사임함으로써 목표 2 (성능 문제)를 돕습니다. 마지막 단락 비관이 나에게 정확하다고 느끼기 때문에 귀하의 답변을 투표했습니다. 여기에는 총알이없는 것 같습니다.

응답의 나머지 부분은 일반적으로 IP 추적에 의존하며, 다시는 쓸모없고 (봇넷 / 좀비 / 클라우드 네트워킹 사용) 해로운 것 (동일한 IP 대상에서 온 많은 무고한 사람들을 잡는 것)으로 보입니다.

다른 접근법 / 아이디어가 있습니까? 저의 개발자들은 계속해서 “보안 문자 만하자”고 말하지만 실제 인간이 우리 쓰레기를 원하는 데 방해가되지 않는 방법이 있기를 바랍니다.

원래 질문

인지도가 매우 높고 금액이 매우 저렴한 상품을 판매한다고 가정 해 보겠습니다. 이 상품을 언제 판매 할 것인지 정확히 아는 사람은 없습니다. 그리고 당신이 팔고있는 것을보기 위해 백만 명이 넘는 사람들이 정기적으로 방문합니다.

프로그래밍 방식으로 [a] 해당 항목을 판매 할시기를 파악하고 [b] 처음 구매 한 사람인지 확인하려는 스크립터 및 봇이 있습니다. 이것은 두 가지 이유로 짜증납니다.

  1. 귀하의 사이트는 사람이 아닌 사람으로 인해 다운되어 모든 사람이 모든 것을 느리게합니다.
  2. 스크립터는 결국 제품을 ‘승리’하여 일반인이 속이는 느낌을 갖습니다.

겉보기 명백한 해결책은 사용자가 주문하기 전에 뛰어 넘을 수있는 후프를 만드는 것이지만 적어도 3 가지 문제가 있습니다.

  • 사용자 경험은 사람들이 보안 문자를 해독하거나 고양이를 골라 내거나 수학 문제를 해결해야하기 때문에 짜증납니다.
  • 인식 된 이익이 충분히 높고 군중이 충분히 크면 일부 그룹은 조정을 통해 무기 경쟁으로 이어질 것입니다. (이것은 조정이 더 단순 할 때 특히 그렇습니다. 숨겨진 ‘설명’양식, 양식 요소 재 배열, 잘못 레이블 지정, 숨겨진 ‘gotcha’텍스트는 모두 한 번 작동 하며이 특정 양식을 타겟팅하기 위해 변경되어야합니다. .)
  • 스크립터가 조정을 ‘해결’할 수 없어도 스크립트가 첫 페이지를 때리는 것을 막지 못하고 스크립터가 수동으로 주문을 작성하는 경보를 울리지 않습니다. 그들이 [a]를 해결함으로써 이점을 얻는다면, 그들은 주문 페이지에 도달 한 최초의 인간이기 때문에 여전히 [b]를 이길 것입니다. 또한 1. 여전히 발생하여 서버 오류가 발생하고 모든 사람의 성능이 저하됩니다.

또 다른 해결책은 IP가 너무 자주 치는 것을 감시하거나 방화벽에서 차단하거나 주문하지 못하게하는 것입니다. 이것은 2를 해결하고 [b]를 막을 수 있지만 IP 검색으로 인한 성능 저하는 방대하며 스크립터가 자체적으로 발생시킨 것보다 1.와 같은 더 많은 문제를 일으킬 수 있습니다. 또한 클라우드 네트워킹 및 스팸봇 좀비의 가능성으로 인해 IP 검사가 상당히 쓸모 없게됩니다.

주문 양식을 일정 시간 (예 : 0.5 초) 동안 강제로로드하는 세 번째 아이디어는 빠른 주문의 진행 속도를 잠재적으로 느리게 할 수 있지만, 다시 한 번 스크립터는 실제 사용자.

목표

  1. 비 스크립팅 사람에게 상품을 판매하십시오.
  2. 봇에 의해 느려지지 않는 속도로 사이트를 운영하십시오.
  3. ‘일반적인’사용자가 사람임을 증명하기 위해 완료해야 할 작업을 번거롭게하지 마십시오.


답변

보안 문자로 SO와 같은 것을 구현하는 것은 어떻습니까?

사이트를 정상적으로 사용하는 경우 사이트를 보지 못할 것입니다. 동일한 페이지를 너무 자주 다시로드하거나, 연속적인 주석을 너무 빨리 게시하거나, 알람을 유발하는 다른 항목을 게시하면 사람임을 입증하십시오. 귀하의 경우, 이는 페이지의 모든 링크를 빠르게 따르거나 사람이 되기에는 너무 빠른 주문 양식을 채우는 동일한 페이지를 지속적으로 다시로드하는 것일 수 있습니다.

이들이 연속으로 x 번 확인에 실패한 경우 (예 : 2 또는 3) 해당 IP에 시간 초과 또는 기타 측정 값을 지정하십시오. 그런 다음 시간 종료가 끝나면 다시 수표로 덤프하십시오.


사이트에 액세스하는 등록되지 않은 사용자가 있으므로 계속 IP를 사용할 수 있습니다. 각 브라우저에 세션을 발행하고 원하는 경우 해당 방식으로 추적 할 수 있습니다. 물론, 봇이 쿠키를 계속 삭제하는 경우를 대비하여 너무 많은 세션이 연속적으로 다시 생성되면 사람 확인을 포기하십시오.

너무 많은 무고한 사람들을 사로 잡는 한, 사람 확인 페이지에 면책 조항을 추가 할 수 있습니다. “이 페이지는 익명의 사용자가 같은 위치에서 우리 사이트를보고있는 경우에도 나타날 수 있습니다. 피하기 위해 등록하거나 로그인하는 것이 좋습니다 이.” (언어를 적절히 조정하십시오.)

게다가 X 사람들이 하나의 IP에서 같은 페이지를 동시에로드 할 가능성은 무엇입니까? 높으면 봇 알람에 대해 다른 트리거 메커니즘이 필요할 수 있습니다.


편집 : 또 다른 옵션은 제품이 너무 많이 실패하고 제품 수요에 대해 확신하고 제품을 차단하고 블록을 제거하도록 개인적으로 전화하도록하는 것입니다.

사람들이 전화를하는 것은 마치 소소한 조치처럼 보이지만 컴퓨터 뒤에 사람이 있는지 확인하십시오 . 핵심은 봇이 아닌 한 거의 일어나지 않아야하는 조건에 대해서만 블록을 배치하는 것입니다 (예 : 연속으로 여러 번 확인 실패). 그런 다음 인간의 상호 작용을 강요하여 전화를받습니다.

그들이 저를 부른다는 의견에 대한 응답으로 여기에 그 절충이 분명히 있습니다. 사용자가 판매시 몇 개의 전화를받을 수있는 사람이되도록 걱정 하는가? 제품이 사용자에게 제공되는 것에 대해 걱정이된다면이 결정을 내려야 할 것입니다. 아마도 프로세스에서 약간의 시간을 희생해야 할 것입니다.

봇이 귀하의 사이트를 우위에 두지 않도록 결정한 것 같습니다. 전화가 좋은 선택 일 수 있습니다. 귀하의 제품에서 이익을 얻지 않기 때문에 이러한 전화를받는 데 관심이 없습니다. 그러나 그 이익의 일부를 나누 셨지만 관심을 가질 수 있습니다. 이것이 귀하의 제품이므로 귀하는 그에 따라 얼마나 많은 관심과 구현을 결정해야합니다.


차단을 해제하는 다른 방법으로는 효과적이지 않습니다 : 타임 아웃 (그러나 헹굼 후 반복적으로 사이트를 슬램 핑해야 함), 긴 타임 아웃 (실제로 사람이 제품을 구매하려는 경우, 그들은 SOL이고 수표에 실패한 경우 처벌을 받음), 이메일 (봇이 쉽게 수행함), 팩스 (같은) 또는 달팽이 메일 (너무 오래 걸림).

물론 시간 초과가 발생할 때마다 IP 당 시간 초과 기간이 증가 할 수 있습니다. 당신이 실수로 진정한 인간을 처벌하지 않도록하십시오.


답변

봇이 12mm 윙 너트 : 20 달러에 비해 매우 비싼 물건을 구매할 수있는 방법을 찾아야합니다. 스크립트 작성자가 게임을 결정하기 전에 스냅 샷이 몇 개나되는지 확인하십시오.

이익을 사용하여 더 많은 서버를 구매하고 대역폭을 지불하십시오.


답변

내 솔루션은 ‘봇 및 스크립트에 약 10 분 지연을 두어 스크린 스크래핑을 무가치하게 만드는 것입니다.

내가하는 방법은 다음과 같습니다.

  • 반복 타자를 기록하고 식별하십시오.

적중마다 모든 IP 주소를 기록 할 필요는 없습니다. 20 번의 조회수 중 하나만 추적하십시오. 반복 위반자는 여전히 무작위 무작위 추적에 나타납니다.

  • 약 10 분 전에 페이지 캐시를 유지하십시오.

  • 반복 타자 / 봇이 사이트에 도달하면 10 분 동안 캐시 된 페이지를 제공하십시오.

그들은 그들이 오래된 사이트를 얻는다는 것을 즉시 알지 못할 것입니다. “실제 사람들”은 10 분의 헤드 스타트를 갖기 때문에 더 이상 긁을 수는 없지만 더 이상 경주에서 이길 수는 없습니다.

혜택:

  • CAPTCHA와 같은 사용자에게는 번거 로움이나 문제가 없습니다.
  • 서버 측에서 완전히 구현되었습니다. (Javascript / Flash에 의존하지 않음)
  • 오래된 캐시 된 페이지를 제공하는 것은 실제 페이지보다 성능 집약성이 낮아야합니다. 실제로 이런 식으로 서버의 부하를 줄일 수 있습니다!

단점

  • 일부 IP 주소를 추적해야 함
  • 이전 페이지의 캐시를 유지하고 유지해야합니다.

어떻게 생각해?


답변

한 번 봐 가지고 여기 네드 BATCHELDER으로이 기사를 . 그의 기사는 스팸봇 차단에 관한 것이지만 동일한 기술이 사이트에 쉽게 적용될 수 있습니다.

사람들이 자신을 식별하도록하여 봇을 중지시키는 대신, 성공적인 게시를 어렵게하거나 실수로 자신을 봇으로 식별하여 봇을 중지 할 수 있습니다. 이렇게하면 사람들의 부담이 사라지고 댓글 형식에 스팸 방지 조치가 표시되지 않습니다.

이 기술은이 사이트에서 스팸봇을 방지하는 방법입니다. 효과가있다. 여기에 설명 된 방법은 내용을 전혀 보지 않습니다.

다른 아이디어들 :

  • 제품 판매시 사람들이 가입 할 수 있는 공식 자동 알림 메커니즘 (RSS 피드? Twitter?)을 만듭니다. 따라서 사람들이 스크립트를 작성 해야 할 필요성 이 줄어 듭니다 .
  • 새 품목이 판매 되기 직전에 난독 처리 기술을 변경하십시오 . 따라서 스크립터가 무기 경쟁을 확대 할 수 있더라도 항상 하루가 뒤쳐집니다.

편집 : 완전히 명확하게하기 위해 Ned의 위 기사는 주문을 제출하기 위해 BOT가 양식을 통과하지 못하게하여 품목의 자동 구매를 방지하는 방법을 설명합니다. 그의 기술은 봇이 홈 페이지를 스크래핑하여 밴 들러 당근 판매시기를 결정하는 데 유용하지 않습니다. 나는 그것이 실제로 가능한지 확실하지 않습니다.

네드의 전략의 효과에 대한 귀하의 의견과 관련하여 : 네, 그는 허니팟에 대해 이야기하지만, 이것이 그의 가장 강력한 전략이라고 생각하지 않습니다. SPINNER에 대한 그의 논의는 내가 그의 기사를 언급 한 최초의 이유입니다. 원래 게시물에서 더 명확하게하지 못했습니다.

스피너는 몇 가지 용도로 사용되는 숨겨진 필드입니다. 변조 및 재생을 방지하는 여러 값을 함께 해시하며 필드 이름을 모호하게하는 데 사용됩니다. 스피너는 다음의 MD5 해시입니다.

  • 타임 스탬프,
  • 클라이언트의 IP 주소
  • 댓글이있는 블로그 항목의 항목 ID
  • 비밀.

WOOT.com에서이를 구현하는 방법은 다음과 같습니다.

새 상품이 판매 될 때마다 해시의 일부로 사용되는 “비밀”값을 변경하십시오. 즉, 누군가 자동 구매 항목으로 BOT를 설계 하려는 경우 다음 항목이 판매 될 때까지만 작동합니다 .

누군가가 봇을 신속하게 재 구축 할 수 있더라도 다른 모든 실제 사용자는 이미 BOC를 구매했을 것이며 문제가 해결되었습니다!

그가 설명 다른 전략은하는 것입니다 변경 시간 (새로운 아이템 판매에 갈 때 다시 변경) 시간에서 허니 팟 기술을 :

  • CSS 클래스 (물론 무작위 화)를 사용하여 표시 할 필드 또는 포함 요소를 설정하십시오.
  • 페이지 배경과 동일하거나 매우 유사한 필드의 색상을 지정하십시오.
  • 위치를 사용하여 페이지의 보이는 영역에서 필드를 이동하십시오.
  • 포함 된 허니팟 필드를 표시하기에는 요소를 너무 작게 만드십시오.
  • 필드를 볼 수 있지만 위치를 사용하여 가리는 요소로 덮으십시오.
  • Javascript를 사용하여 이러한 변경 사항을 적용하려면 봇에 완전한 Javascript 엔진이 있어야합니다.
  • 허니팟은 다른 필드와 같이 표시된 채로 두십시오. 그러나 사람들에게 입력하지 마십시오.

전반적인 아이디어는 각각의 새로운 품목이 판매 될 때 양식 디자인을 변경하는 것입니다. 또는 LEAST에서 새로운 BOC가 판매 될 때 변경하십시오.

몇 번 / 월, 어느 것입니까?

이 답변을 수락하면 다음 답변 마감일을 알려주시겠습니까? 🙂


답변

Q : 스크립터가 사이트를 초당 수백 번 밟지 않도록하려면 어떻게해야합니까?
A : 그렇지 않습니다. 외부 에이전트가이 동작 을 막을 방법이 없습니다 .

방대한 기술을 사용하여 들어오는 요청을 분석하고 휴먼이 누구인지 아닌지를 결정적으로 시도 할 수 있지만 실패 할 것입니다. 결국, 즉시가 아니라면.

유일하게 가능한 장기적인 해결책은 사이트가 봇 친화적이지 않거나 스크립터에게 덜 매력적 이도록 게임변경하는 것입니다.

어떻게합니까? 글쎄, 그건 다른 질문입니다! 😉

좋아, 일부 옵션은 위에 주어졌고 거부되었습니다. 사이트를 한 번만보고 친숙하게 사이트에 익숙하지는 않지만 사람들이 이미지에서 텍스트를 읽을 수 있고 봇이이를 쉽게 수행 할 수 없으므로 공지를 이미지로 변경하십시오. 보안 문자 가 아닌 이미지-

  • 페이지가 요청 될 때 이미지를 생성합니다 (물론 캐시 됨)
  • 이미지 소스 이름을 동일하게 유지하면 게임이 중단되지 않습니다.
  • 대부분의 경우 이미지에 일반 텍스트가 포함되며 인라인 HTML 페이지의 일부로 표시되도록 정렬됩니다
  • 게임이 ‘켜짐’이면 이미지가 알림 텍스트로 바뀝니다.
  • 공지 사항 텍스트는 상품을 획득하기 위해 수동으로 입력해야하는 URL 및 / 또는 코드 나타냅니다 . 원하는 경우 코드를 보안 문자로 표시하지만 필요하지는 않습니다.
  • 추가 보안을 위해 코드는 요청 / IP / 에이전트를 위해 특별히 생성 된 일회성 토큰 일 수 있으므로 반복 된 요청이 다른 코드를 생성 할 수 있습니다. 또는 주문형 생성에 너무 많은 세금이 부과되는 경우 임의의 코드 (일회용 패드)를 미리 생성 할 수 있습니다.

이에 응답하는 실제 사람들의 타임 트라이얼을 실행하고이 시간의 절반보다 빠른 응답을 무시합니다 ( ‘죄송합니다, 오류가 발생했습니다. 죄송합니다. 다시 시도하십시오’). 이 이벤트는 또한 최소한 하나의 봇이 코드 / 게임을 파악했음을 개발자에게 알리기 때문에 코드 / 게임을 변경해야합니다.

봇이 게임을 시작하지 않아도 스크립터의 시간을 낭비하기 위해 게임을 주기적으로 계속 변경하십시오. 결국 스크립터는 게임에 질려서 다른 곳으로 가야합니다 … 우리는 😉 희망합니다

마지막 제안 : 메인 페이지 요청이 들어 오면 대기열 에 넣고 별도의 프로세스로 요청에 응답하십시오 (웹 서버를 해킹 / 확장해야 할 수도 있지만 아마도 할 보람 있는). 첫 번째 요청이 대기열에있는 동안 동일한 IP / 에이전트의 다른 요청이 들어 오면 무시하십시오. 봇에서 자동으로로드를 제거해야합니다.

편집 : 이미지 사용 외에도 다른 옵션은 구매 / 구매하지 않는 텍스트를 채우기 위해 자바 스크립트를 사용하는 것입니다. 봇은 자바 스크립트를 거의 해석하지 않으므로 보지 못합니다.


답변

이것이 얼마나 실현 가능한지 모르겠습니다. … 공세를 계속하십시오.

봇이 어떤 데이터를 스캔하고 있는지 파악하십시오. 쓰레기를 팔지 않을 때 원하는 데이터를 제공하십시오. 사람을 귀찮게하거나 혼동하지 않는 방식으로이 작업을 수행하십시오. 봇이 2 단계를 시작하면 BOC 대신 100 달러짜리 룸바를 구매하기 위해 로그인하여 양식을 작성합니다. 물론 이것은 봇이 특히 견고하지 않다고 가정합니다.

또 다른 아이디어는 백오 랩 판매 기간 동안 임의의 가격 인하를 구현하는 것입니다. 당신이 $ 20의 가치가 있다고 명확하게 말할 때 누가 150 달러에 무작위 가방 쓰레기를 사겠습니까? 지나친 로봇 외에는 아무도 없습니다. 하지만 9 분 후에는 35 달러가되고 17 분 후에는 9 달러가됩니다. 또는 무엇이든.

물론, 좀비 왕들이 반응 할 수있을 것입니다. 요점은 그들의 실수가 그들에게 매우 많은 비용이 들도록하고 (그리고 그들이 싸우도록 당신을 지불하게하는 것) 것입니다.

이 모든 것은 당신이 100 % 바람직하지 않을 수도있는 봇 군주를 화나게하고 싶다고 가정합니다.


답변

따라서 문제는 실제로 봇이 낮은 가격으로 높은인지 가치를 가지기 때문에 “가방”을 원한다는 것입니다. 당신은 때때로이 아이템을 제공하고 봇들이 숨어있을 때까지 기다렸다가 그들이 구매할 수 있는지 기다립니다.

봇 소유자가 이익을내는 것 (또는 잠재적으로 이익을내는 것)처럼 보이는 것은 속임수 를 사 도록 장려함으로써 이를 비영리적으로 만드는 것입니다.

먼저, 항상 “가방”을 제공하십시오.

둘째, 쓰레기가 보통 쓰레기인지 확인하십시오.

셋째, 쓰레기를 자주 돌리십시오.

간단 하지요?

당신은 영구적 인 “왜 우리 쓰레기는 왜 쓰레기입니까?” 제안 옆에 링크하여 진행중인 작업을 인간에게 설명합니다.

봇이 쓰레기를 발견하고 쓰레기가 자동으로 구매되는 것을 보았을 때, 수령인은 부러진 이쑤시개에 대해 10 달러를 지불 한 것에 대해 몹시 화를 낼 것입니다. 그런 다음 빈 쓰레기 봉투. 그런 다음 신발 바닥에 먼지가 묻어 있습니다.

그들이 비교적 짧은 기간 내에이 쓰레기를 충분히 사면 (그리고 당신이 왜 이런 일을하는지 설명하는 곳마다 큰 면책 조항이있는 경우) ” 쓰레기 ‘오 쓰레기’. 쓰레기를 자주 회전 시키면 쓰레기를 긁지 않는지 확인하는 사람의 개입조차도 실패 할 수 있습니다. 봇은 아마도 너무 짧은 시간 동안 회전에 있었던 것을 알아 차리고 사지 않을 것입니다.

그렇습니다. 일반 고객이 너무 즐거워서 이것을 큰 마케팅 승리로 바꿀 수 있습니다. 잉어 잉어가 얼마만큼 팔리고 있는지 게시하십시오. 사람들은 봇이 얼마나 물린 것을 보려고 돌아올 것입니다.

업데이트 : 나는 당신이 불평하는 사람들과 몇 번의 전화를받을 것으로 기대합니다. 나는 당신이 그것을 완전히 멈출 수 있다고 생각하지 않습니다. 그러나 이것이 봇을 죽인 경우 언제든지 중지하고 나중에 다시 시작할 수 있습니다.