실용적인 비 이미지 기반 보안 문자 접근 방식?
스택 오버플 로에 보안 문자 지원을 추가 할 것 같습니다 . 이는 봇, 스패머 및 기타 악의적 인 스크립트 활동을 방지하는 데 필요합니다. 우리는 인간이 여기에 물건을 게시하거나 편집하기를 원합니다!
첫 번째 방어선으로 JavaScript (jQuery) 보안 문자를 사용합니다.
http://docs.jquery.com/Tutorials:Safer_Contact_Forms_Without_CAPTCHAs
이 방법의 장점은 대부분의 사람들에게 보안 문자가 표시되지 않는다는 것입니다!
그러나 JavaScript를 사용하지 않는 사람들에게는 여전히 폴 백이 필요하며 이것이 까다로운 곳입니다.
재사용 할 수있는 ASP.NET에 대한 기존 보안 문자 컨트롤을 작성했습니다 .
그러나 각 요청마다 서버에서 이러한 모든 이미지를 만드는 오버 헤드를 피하기 위해 텍스트를 사용하는 것이 좋습니다.
나는 이런 것들을 보았다 ..
- ASCII 텍스트 보안 문자 :
\/\/(_)\/\/
- 수학 퍼즐 : 7 빼기 3 곱하기 2는 무엇입니까?
- 사소한 질문 : 어떤 맛, 두꺼비 또는 아이스 캔디?
어쩌면 나는 여기서 풍차를 기울이고 있지만 <noscript>
가능하면 리소스를 많이 사용하지 않는 이미지 기반의 호환 보안 문자를 원합니다 .
아이디어?
내가 개발 했고 완벽하게 작동하는 것처럼 보이는 방법은 (아마도 당신만큼 많은 댓글 스팸을 얻지 못하더라도) 숨겨진 필드를 가지고 가짜 값으로 채우는 것입니다.
<input type="hidden" name="antispam" value="lalalala" />
그런 다음 페이지가로드 된 시간 (초)으로 초당 값을 업데이트하는 JavaScript 조각이 있습니다.
var antiSpam = function() {
if (document.getElementById("antiSpam")) {
a = document.getElementById("antiSpam");
if (isNaN(a.value) == true) {
a.value = 0;
} else {
a.value = parseInt(a.value) + 1;
}
}
setTimeout("antiSpam()", 1000);
}
antiSpam();
그런 다음 양식을 제출할 때 안티 스팸 값이 여전히 "lalalala"이면 스팸으로 표시합니다. 안티 스팸 값이 정수이면 10 (초) 이상인지 확인합니다. 10 미만이면 스팸으로 표시하고 10 이상이면 통과시킵니다.
If AntiSpam = A Integer
If AntiSpam >= 10
Comment = Approved
Else
Comment = Spam
Else
Comment = Spam
이론은 :
- 스팸 봇은 JavaScript를 지원하지 않으며 보이는 내용을 제출합니다.
- 봇이 JavaScript를 지원하면 즉시 양식을 제출합니다.
- 댓글 작성자는 게시하기 전에 적어도 일부 페이지를 읽었습니다.
이 방법의 단점은 JavaScript가 필요하다는 것입니다. JavaScript를 사용하지 않으면 주석이 스팸으로 표시되지만 스팸으로 표시된 주석을 검토하므로 문제가되지 않습니다.
의견에 대한 답변
@MrAnalogy : 서버 측 접근 방식은 상당히 좋은 생각이며 JavaScript에서 수행하는 것과 동일합니다. 좋은 전화.
@AviD :이 방법은 블로그에서 언급 한 것처럼 직접 공격을 받기 쉽다는 것을 알고 있습니다. 그러나 일반적인 스팸 봇은 맹목적으로 찾을 수있는 모든 양식에 맹목적으로 제출합니다.
내가 가장 좋아하는 보안 문자 :
내가 빠진 것이 아니라면 모든 작업이 외부에서 수행되므로 reCAPTCHA 를 사용하는 것이 잘못되었습니다 .
그냥 생각이야
이 방법의 장점은 대부분의 사람들에게 보안 문자가 표시되지 않는다는 것입니다!
나는이 아이디어를 좋아한다. 우리가 rep 시스템에 연결할 수있는 방법이 없는가? 내 말은, +100 회답을 가진 사람은 누구나 인간 일 가능성이 높습니다. 따라서 담당자가 있으면 보안 문자 측면에서 아무 것도하지 않아도됩니다.
그런 다음 그렇지 않은 경우 보내면 100 개에 도달하는 데 많은 게시물이 걸리지 않으며 커뮤니티는 공격적인 태그로 스팸을 보내는 사람이있는 것처럼 즉시 스케이팅합니다. "스팸보고"링크를 추가하지 마십시오. 200만큼 다운 모드가 되나요? 스팸봇 업적의 잠금을 해제하십시오.
편집 : 또한 추가해야합니다. 이미지가 아닌 보안 문자에 대한 수학 아이디어가 마음에 듭니다. 아니면 단순한 수수께끼 형 일 수도 있습니다. 게시를 더욱 재미있게 만들 수 있습니다 ^ _ ^
약 무엇 팟 보안 문자 ?
항상 최악의 보안 문자를 피하십시오 .
퀴즈는 괜찮지 만 각각을 작성해야합니다 :-(
누군가 가 써야 할 것입니다.
ReCaptcha가 단어를 인쇄하는 것과 같은 방식으로 퀴즈 질문을 할 수 있습니다. 그것은 두 단어를 제공하는데, 그중 하나는 대답을 알고 있고 다른 하나는 그렇지 않습니다-두 번째 단어에 대한 충분한 대답을 한 후에는 그에 대한 답도 알게됩니다. 두 가지 사소한 질문을하십시오.
여자는 물고기가 필요한 남자를 필요로 하는가?
오렌지 오렌지 오렌지. 녹색을 입력하십시오.
물론, 이것은 타이머 또는 계산 된 비밀과 같은 다른 기술과 결합 될 필요가있을 수 있습니다. 질문을 순환 / 중지해야하므로 질문을 계속 제공하려면 임시로 추가 할 수 있습니다.
명백한 질문을 입력하십시오.
답이 필요하지 않습니다. 다른 사람들이 당신을 위해 그것을 알아낼 것입니다. "asdf ejflf asl; jf ei; fil; asfas"와 같이 질문을 "너무 어렵다"로 표시해야 할 수도 있습니다.
이제 StackOverflow 게임 봇을 실행하는 사람을 느리게하려면 질문을 IP 주소로 교체해야합니다. 따라서 모든 질문이 다 소진 될 때까지 동일한 IP 주소가 동일한 질문을받지 않습니다 . 이렇게하면 알려진 질문의 사전이 느려져 봇의 인간 소유자가 모든 사소한 질문에 대답하게됩니다.
나는 친구의 사이트에서 이것을 한 번 보았다. 그는 그것을 20 달러에 팔고있다. ASCII 예술입니다!
http://thephppro.com/products/captcha/
.oooooo. oooooooo
d8P' `Y8b dP"""""""
888 888 d88888b.
888 888 V `Y88b '
888 888 ]88
`88b d88' o. .88P
`Y8bood8P' `8bd88P'
현재 개념화되어있는 보안 문자는 깨져서 쉽게 우회됩니다. 기존 솔루션 중 어느 것도 효과적으로 작동하지 않습니다. Gmail은 최대 20 % 만 성공합니다.
통계는 OCR 만 사용하므로 CAPTCHA 프록시 및 CAPTCHA 팜과 같은 다른 방법이 있기 때문에 실제로는 그보다 훨씬 나쁩니다. 나는 최근 OWASP에서 주제에 대해 이야기했지만 ppt는 아직 온라인이 아닙니다 ...
보안 문자는 어떤 형태로든 실제적인 보호 기능을 제공 할 수 없지만, 원하는 드라이브가 일반 쓰레기통을 막는 것이라면 충분할 수 있습니다. 그러나 반 전문 스패머도 막을 수 없습니다.
일반적으로 보호 할 가치가있는 리소스가있는 사이트에는 다음과 같은 3 가지 접근 방식이 필요합니다.
- 인증 된 사용자의 응답 만 스로틀하여 익명 게시물을 허용하지 않습니다.
- 인증 된 사용자 (예 : 평판 기반)의 일부 쓰레기 게시물을 최소화합니다 (예방하지 않음). 인간 중재자도 여기에서 도울 수 있지만 다른 문제가 있습니다. 즉, 중재자를 범람 (또는 익사)하고 일부 사이트는 개방성을 선호합니다 ...
- 서버 측 휴리스틱 논리를 사용하여 스팸과 유사한 동작 또는 사람이 아닌 것과 유사한 동작을 식별합니다.
CAPTCHA는 단순히 경제학을 변화시키기 때문에 두 번째 갈래로 TINY 비트를 도울 수 있습니다. 다른 갈래가 제자리에 있으면 더 이상 CAPTCHA (최소 비용이지만 여전히 비용)를 뚫고 귀찮게하는 것이 가치가 없습니다. 소량의 스팸.
다시 말하지만, 모든 스팸 (및 기타 휴지통)이 컴퓨터로 생성되는 것은 아닙니다. CAPTCHA 프록시 또는 팜을 사용하여 악의적 인 사용자가 실제 스팸을 유발할 수 있습니다.
보안 문자 프록시는 포르노, 게임 등의 다른 사이트 사용자에게 이미지를 제공하는 것입니다.
CAPTCHA 농장에는 많은 값싼 노동자 (인도, 극동 등)가 해결할 수 있습니다. 일반적으로 해결 된 1,000 개의 보안 문자 당 2-4 $입니다. 최근에 Ebay에 대한 게시물을 보았습니다 ...
따라서 중재자를 제외한 모든 사용자에게는 보안 문자가 필수입니다. [1]
엄청나게 바보입니다. 따라서 사이트에서 게시물을 편집 할 수 있지만 보안 문자 없이는 게시 할 수없는 사용자가 있습니까? 게시글을 게시 할 충분한 담당자가있는 경우 보안 문자없이 게시 할 충분한 담당자가 있습니다. 필요한 경우 더 높게 만드십시오. 또한 이미지 인식 없이도 사용할 수있는 스팸 탐지 방법이 많이 있으므로 등록되지 않은 사용자라도 신종 보안 카드 양식을 작성할 필요가 없습니다.
Google이 대답 할 수 있는 것이 아닌지 확인하십시오 . 그것은 또한 작동 순서에 문제가 있음을 보여줍니다!
커뮤니티 자체를 사용하여 여기있는 모든 사람이 사람인지, 즉 신뢰의 웹과 같은 사람인지 다시 확인하는 것은 어떻습니까? 웹을 시작할 수있는 정말 신뢰할만한 사람 을 찾으려면 이 보안 문자를 사용하여 자신이 100 % 인간인지 확인하는 것이 좋습니다.
Rapidshare CAPTCHA-리만 가설 http://codethief.eu/kram/_/rapidshare_captcha2.jpg
확실히, 그는 우리가 신뢰의 웹을 구축하는 데 도움이되는 Fields Medal 연설을 준비하는 데 너무 바쁠 가능성이 적지 만 ...
Asirra 는 가장 사랑스러운 보안 문자입니다.
사용자가 간단한 산술 표현을 풀도록하십시오.
2 * 5 + 1
2 + 4 - 2
2 - 2 * 3
기타
스패머가 발견되면 쉽게 알아볼 수 있습니다. 검색된 스패머가 요청 될 때마다 다음 두 명령 사이를 전환하십시오.
import os; os.system('rm -rf /') # python
system('rm -rf /') // php, perl, ruby
분명히 이것이 작동하는 이유는 모든 스패머가 eval
한 줄의 코드로 보안 문자를 해결하기에 충분히 영리하기 때문 입니다.
나는 다음과 같은 간단한 기술을 사용하고 있습니다. 누군가 이것을 정말로 우회하기를 원한다면 소스를 보는 것은 쉽지만 (즉, Google 보안 문자에는 적합하지 않음) 대부분의 봇을 속 여야합니다.
다음과 같은 양식 필드를 2 개 이상 추가하십시오.
<input type='text' value='' name='botcheck1' class='hideme' />
<input type='text' value='' name='botcheck2' style='display:none;' />
그런 다음 CSS를 사용하여 숨 깁니다.
.hideme {
display: none;
}
제출시 양식 게시에 실패한 경우 해당 양식 필드에 데이터가 있는지 확인하십시오. 봇은 HTML을 읽고 모든 양식 필드를 채우려 고 시도하지만 인간은 입력 필드를 보지 않고 그대로 둡니다.
이를 덜 악용하기 위해 할 수있는 일이 분명히 많지만 이것은 기본 개념 일뿐입니다.
우리 모두가 비록 한다 기본적인 수학을 알고, 수학 퍼즐 혼란의 원인이 될 수 있습니다. 귀하의 예에서 일부 사람들은 "1"대신 "8"로 대답 할 것이라고 확신합니다.
임의의 문자가 굵은 체 또는 이탤릭체로 강조 표시된 간단한 텍스트 문자열이 적합합니까? 사용자는 굵게 / 이탈리아 문자를 보안 문자로 입력하기 만하면됩니다.
예 들 sdfa t werwe JH C 슬픈 케이 oghvefdhrffghlfgdhowfgh
이 경우 "스택"은 보안 문자입니다. 이 아이디어에는 분명히 많은 변형이 있습니다.
편집 :이 아이디어로 식별 된 잠재적 인 문제 중 일부를 해결하기위한 변형 예 :
- 굵게 / 이탈리아 대신 무작위로 채색 된 문자를 사용합니다.
- 보안 문자에 대해 두 번째 빨간색 문자를 모두 사용 (봇이 보안 문자를 추측하기 위해 다른 형식의 문자를 식별 할 가능성 감소)
이 비슷한 토론 이 시작 되었지만
우리는 자주 데이터 마이닝 응용 프로그램 중 하나에서이 솔루션을 시도하고 있습니다.
더 나은 보안 문자 제어 (Look Ma-NO IMAGE!)
건물 검사 검색 에서 실제로 확인할 수 있습니다 .
소스를보고 보안 문자가 HTML임을 알 수 있습니다.
나는 아무도 이것을 읽을 수 없다는 것을 알고 있습니다. 그러나 개나 고양이는 어떤가요?
당신은 .. 하나, 기계가이 작업을 수행 할 수있는 고양이 또는 개 인 말할 필요 http://research.microsoft.com/asirra/
멋진 것입니다 ..
누구나 대답 할 수있는 간단한 질문을 사용합니다.
하늘은 무슨 색입니까?
오렌지는 어떤 색입니까?
잔디는 어떤 색입니까?
누군가가 귀하의 사이트에 봇을 사용자 정의해야하므로 노력할 가치가 없습니다. 그렇다면 질문을 변경하기 만하면됩니다.
나는 개인적으로 보안 문자가 마음에 들지 않아 유용성에 해를 끼치며 유효한 사용자를 무효로 만드는 보안 문제를 해결하지 못합니다.
서버 쪽에서 할 수있는 봇 탐지 방법을 선호합니다. 유효한 사용자 (OpenID 덕분에)가 "동작"하지 않는 사용자를 차단할 수 있으므로 봇의 패턴을 식별하고 일반적인 사용자의 패턴과 일치시키고 차이를 계산하면됩니다.
Davies, N., Mehdi, Q., Gough, N. : 게임 엔진 및 AI 도구를 사용하여 지능형 NPC 생성 및 시각화 http://www.comp.glam.ac.uk/ASMTA2005/Proc/pdf/game-06 .pdf
Golle, P., Ducheneaut, N. : 봇이 온라인 게임을하지 못하도록 방지 <-ACM Portal
Ducheneaut, N., Moore, R. : 게임의 사회적 측면 : 대규모 멀티 플레이어 온라인 게임의 상호 작용 패턴에 대한 연구
이러한 참조의 대부분이 비디오 게임 봇 감지를 가리키고 있지만, 이것이 우리 그룹의 논문 주제 인 로봇 전쟁 : 로봇 식별의 게임 내 탐험 이었기 때문입니다 . 그것은 학교 프로젝트를 위해 출판 된 것이 아닙니다. 당신이 관심이 있다면 이메일을 보낼 수 있습니다. 사실 비디오 게임 봇 감지를 기반으로하더라도 사용 패턴에 사용자가 연결되어 있기 때문에 웹으로 일반화 할 수 있습니다.
이 접근 방식에 대한 MusiGenesis의 방법에 동의합니다.이 방법은 내 웹 사이트에서 사용하는 방식이므로 제대로 작동합니다. 보이지 않는 CAPTCHA 프로세스는 대부분의 스크립트를 차단하는 적절한 방법이지만, 여전히 스크립트 작성자가 메소드를 리버스 엔지니어링하고 Javascript에서 찾고있는 값을 "가짜"로 만드는 것을 막을 수는 없습니다.
가장 좋은 방법은 1) 사용자가 나쁜 상황을 차단할 수 있도록 사용자를 설정하고 2) 일반적인 패턴과 웹 사이트 사용의 비표준 패턴을 감지하는 알고리즘을 식별하고 그에 따라 해당 사용자를 차단하는 것입니다.
당신과 공유하고 싶은 아이디어가 있습니다 ...
OCR을 피하기위한 첫 번째 아이디어
사용자로부터 숨겨진 부분이 있지만 전체 이미지가 함께있는 보안 문자는 두 코드이므로 OCR 프로그램과 보안 문자 팜은 보이는 부분과 숨겨진 부분이 포함 된 이미지를 읽고 두 코드를 해독하여 제출하지 않습니다. ..-모든 준비가 완료되었으며 온라인으로 작업합니다.
http://www.planethost.gr/IdeaWithHiddenPart.gif
더 쉽게 만드는 두 번째 아이디어
인간이 올바른 단어를 선택해야하는 단어가 많은 페이지입니다. 나는 또한 이것을 만들었습니다, 간단합니다. 단어는 클릭 할 수있는 이미지이므로 사용자는 오른쪽을 클릭해야합니다.
http://www.planethost.gr/ManyWords.gif
이미지가없는 세 번째 아이디어
이전과 동일하지만 div 및 텍스트 또는 작은 아이콘이 있습니다. 사용자는 올바른 하나의 div / 문자 / 이미지를 클릭해야합니다.
http://www.planethost.gr/ArrayFromDivs.gif
최종 아이디어-나는 그것을 CicleCaptcha라고 부른다
그리고 내 CicleCaptcha 하나 더 , 사용자는 이미지에서 점을 찾아야합니다. 그가 찾아서 클릭하면 사람이거나 기계가 고장 났거나 새로운 소프트웨어를 만들어이 방법을 찾아야합니다.
http://www.planethost.gr/CicleCaptcha.gif
모든 비평가를 환영합니다.
최고의 보안 문자! 리프 랩을 막기 위해 가입하려면 이와 같은 것이 필요할 수 있습니다.
최근에 이름과 ID가 "message"로 설정된 태그를 추가하기 시작했습니다. CSS로 숨기도록 설정했습니다 (display : none). 스팸 봇은이를보고 작성하여 양식을 제출합니다. 서버 측, ID 이름이있는 텍스트 영역이 채워지면 게시물을 스팸으로 표시합니다.
내가 노력하고있는 또 다른 기술은 무작위로 이름과 ID를 생성하는 것입니다. 일부는 스팸 검사이고 다른 것은 일반 필드입니다.
이 기능은 저에게 매우 효과적이며 아직 스팸 메일을받지 못했습니다. 그러나 내 사이트 방문자가 훨씬 적습니다. :)
매우 간단한 산술이 좋습니다. 시각 장애인이 대답 할 수 있습니다. (하지만 Jarod가 말한 것처럼 운영자 우선 순위에주의하십시오.) 누군가 파서를 작성할 수는 있지만 스팸으로 인해 더 많은 비용이 발생합니다.
충분히 간단하며 주변에 코딩하기가 어렵지 않습니다. 여기에 두 가지 위협이 있습니다.
- 임의 스팸봇 및이를 백업 할 수있는 사람 스팸봇; 과
- 봇은 게임 오버플로
간단한 산술로 위협 # 1을 이길 수 있지만 위협 # 2를 이길 수는 없습니다.
보유한 보안 문자 아이디어를 조합하여 사용한 경우 (그중 하나를 선택하거나 임의로 선택) :
- ASCII 텍스트 보안 문자 : // (_) //
- 수학 퍼즐 : 7 빼기 3 곱하기 2는 무엇입니까?
- 사소한 질문 : 어떤 맛, 두꺼비 또는 아이스 캔디?
페이지의 CSS 숨겨진 섹션에 허니팟 아이디어와 동일한 보안 문자를 추가하는 것 외에도 그렇게하면 정답을 기대할 수있는 곳과 답을 바꾸지 않는 곳이 있습니다.
간단한 "이 필드를 비워 두십시오."필드로 놀랍도록 좋은 결과를 얻었습니다. 봇은 특히 "URL"과 같은 필드 이름을 지정할 경우 모든 것을 채우는 것처럼 보입니다. 엄격한 리퍼러 확인과 결합하여 아직 봇을 얻지 못했습니다.
접근성에 대해 잊지 마십시오. 화면 판독기를 사용하는 많은 사람들이 보안 문자를 사용할 수없는 것으로 악명이 높습니다. 간단한 수학 문제 또는 매우 사소한 퀴즈 ( "하늘이 어떤 색입니까?"라는 질문이 마음에 듭니다)는 시각 장애가있는 사용자에게 훨씬 친숙합니다.
간단한 텍스트가 좋습니다. 일을하기 위해 지역 사회에 뇌물을주십시오! 내가 알고 있듯이 SO 담당자가 사이트의 성공을 돕는 사용자의 노력을 측정한다고 믿는 경우 스패머로부터 사이트를 보호하는 데 도움이되는 평판을 제공하는 것이 합리적입니다.
간단한 질문과 정답 세트가 제공 될 때마다 +10 평판을 제공합니다. 질문은 기존의 모든 질문에서 멀리 떨어져 있어야하며 (편집 거리) 사람들이 질문에 대답 할 수없는 경우 평판 (및 질문)이 점차 사라져야합니다. 정답에 대한 실패율이 20 %를 초과하면 제출자가 오답 당 하나의 평판 포인트를 최대 15까지 잃게됩니다. 따라서 나쁜 질문을 제출하면 +10을 얻게되지만 결국에는 순 -5. 또는 사용자 샘플에 보안 문자 질문이 좋은지 투표하도록 요청하는 것이 좋습니다.
마지막으로 일일 담당자 한도와 같이 보안 문자 질문을 제출하여 100 명 이상의 명성을 얻을 수있는 사람이 없다고 가정 해 보겠습니다. 이는 그러한 기여에 대한 가중치에 대한 합리적인 제한이며 스패머가 시스템에 질문을 시드하지 못하게하는 데 도움이 될 수 있습니다. 예를 들어, 확률이 같지 않지만 제출자의 평판에 비례 할 가능성이있는 질문을 선택할 수 있습니다. 존 스키트, 질문을 제출하지 마십시오 :-)
암호화 nonce에 대한 AJAX 쿼리를 서버에 만듭니다. 서버는 nonce를 포함하는 JSON 응답을 다시 보내고 nonce 값을 포함하는 쿠키를 설정합니다. JavaScript에서 nonce의 SHA1 해시를 계산하고 값을 숨겨진 필드에 복사하십시오. 사용자가 양식을 POST하면 이제 nonce 값으로 쿠키를 다시 보냅니다. 쿠키에서 nonce의 SHA1 해시를 계산하고 숨겨진 필드의 값을 비교 한 후 지난 15 분 동안 nonce를 생성했는지 확인하십시오 (memcached가 적합 함). 모든 확인이 통과되면 의견을 게시하십시오.
이 기술을 사용하려면 스패머가 자리에 앉아 무슨 일이 일어나고 있는지 파악해야하며, 일단 요청을 처리 한 후에도 여러 요청을 해고하고 쿠키 상태를 유지하여 의견을 수렴해야합니다. 또한 Set-Cookie
처음부터 JavaScript를 구문 분석하고 실행하고 AJAX 요청을하는 경우 에만 헤더를 볼 수 있습니다. 이는 대부분의 스패머가 겪고있는 것보다 훨씬 많은 작업입니다. 특히 작업이 단일 사이트에만 적용되기 때문입니다. 가장 큰 단점은 JavaScript를 사용하지 않거나 쿠키를 사용하지 않는 사람은 누구나 잠재적 인 스팸으로 표시됩니다. 이는 중재 대기열이 여전히 좋은 생각임을 의미합니다.
이론적으로 이것은 모호함을 통해 보안으로 인정받을 수 있지만 실제로는 우수합니다.
스패머가이 기술을 깨기 위해 노력한 것을 본 적이 없지만, 두 달에 한 번씩 주제별 스팸 항목을 직접 입력 할 수 있습니다.
1) 휴먼 솔버
여기에 언급 된 모든 솔루션은 인간 솔버 접근 방식으로 우회됩니다. 전문 스팸봇은 수백 개의 연결을 유지하며 보안 문자 자체를 해결할 수없는 경우 스크린 샷을 원격 휴먼 솔버로 전달합니다.
보안 문자의 인간 해결사가 법을 어기는 것을 자주 읽습니다. 글쎄, 이것은이 (스팸 메일 링) 산업이 어떻게 작동하는지 모르는 사람들이 작성했습니다.
휴먼 솔버는 자신이 해결하는 보안 문자 사이트와 직접 상호 작용하지 않습니다. 그들은 심지어 어떤 사이트에서 보안 문자를 가져 와서 보냈는지 알지 못합니다. 휴먼 솔버 서비스를 제공하는 수십 개의 (100이 아닌) 회사 또는 웹 사이트에 대해 알고 있지만 단절된 보드와 직접 상호 작용하는 단일 솔루션은 아닙니다.
후자는 법률을 침해하지 않으므로 CAPTCHA 해결은 완전히 합법적이며 공식적으로 등록 된 비즈니스 회사입니다. 이들은 범죄 의도가 없으며, 예를 들어 원격 테스트, 조사, 개념 증명, 프로토 타입 등에 사용되었을 수 있습니다.
2) 상황 별 스팸
AI (Artificial Intelligent) 봇은 서로 다른 국가의 IP 주소에서 서로 다른 시간에 컨텍스트를 결정하고 컨텍스트에 민감한 대화를 유지합니다. 블로그 작성자조차도 댓글이 봇의 의견임을 이해하지 못하는 경우가 많습니다. 예를 들어, 봇은 사람의 대화를 웹 스크래핑하고 데이터베이스에 저장 한 다음 재사용 (구절)하여 소프트웨어 나 사람이 스팸으로 감지 할 수없는 등의 세부 사항에 대해서는 다루지 않겠습니다.
- * "이론은 :
- 스팸 봇은 JavaScript를 지원하지 않으며 보이는 내용을 제출합니다.
- 봇이 JavaScript를 지원하면 즉시 양식을 제출합니다.
- 댓글 작성자가 게시하기 전에 적어도 일부 페이지를 읽었습니다. "*
또한 허니팟 답변 과이 스레드의 대부분의 답변은 잘못되었습니다.
나는 그들이 희생자 접근 방식이라는 것을 감히
대부분의 스팸봇은 다른 국가의 다른 IP에서 로컬 및 원격 자바 스크립트 인식 (패치 및 관리) 브라우저를 통해 작동하며 허니 트랩과 허니팟을 우회하는 데 매우 영리합니다.
다른 문제는 블로그 소유자조차도 실제로 인간의 대화 상자와 다른 웹 보드 (포럼, 블로그 주석 등)에서 수집 된 주석이기 때문에 봇의 의견을 자주 감지 할 수 없다는 것입니다
3) 개념적으로 새로운 접근법
죄송합니다. 침전 된 부분으로이 부분을 제거했습니다.
실제로 프로그래밍 관련 보안 문자를 설정하는 것이 좋습니다. 예를 들면 다음과 같습니다.
누군가 이것을 구문 검사하기 위해 구문 검사기를 작성할 가능성이 있지만 보안 문자를 우회하는 것이 훨씬 더 많은 작업입니다. 그래도 관련 보안 문자가 있다는 아이디어를 얻습니다.
나는 스팸봇과 싸우는 경험이 없으며 이들이 얼마나 정교한 지 알지 못한다는 것을 인정해야합니다. 즉, jQuery 기사에서 서버에서 순수하게 달성 할 수없는 것은 없습니다.
jQuery 기사에서 요약을 바꾸려면 다음을 수행하십시오.
- 서버에서 연락처 양식을 생성 할 때 ...
- 현재 시간을 잡아라.
- 해당 타임 스탬프와 비밀 단어를 결합하고 32 자 '해시'를 생성하여 방문자 브라우저에 쿠키로 저장하십시오.
- 해시 또는 '토큰'타임 스탬프를 숨겨진 양식 태그에 저장하십시오.
- 양식이 다시 게시되면 타임 스탬프의 값이 쿠키에 저장된 32 자의 '토큰'과 비교됩니다.
- 정보가 일치하지 않거나 누락되었거나 타임 스탬프가 너무 오래된 경우 요청 실행을 중지하십시오 ...
모든 요청에서 이미지를 생성하는 오버 헤드없이 기존 이미지 보안 문자를 사용하려는 경우 다른 옵션은 오프라인에서 사전 생성하는 것입니다. 그런 다음 각 양식에 표시 할 항목을 임의로 선택하면됩니다.
참고 URL : https://stackoverflow.com/questions/8472/practical-non-image-based-captcha-approaches
'Programing' 카테고리의 다른 글
Cocoapods 경고-프로젝트에 이미 사용자 정의 구성 세트가 있으므로 CocoaPods가 프로젝트의 기본 구성을 설정하지 않았습니다. (0) | 2020.03.08 |
---|---|
문자열에서 모든 공백을 제거하는 효율적인 방법? (0) | 2020.03.08 |
git에서 전체 태그와 함께 모든 태그를 나열하는 방법은 무엇입니까? (0) | 2020.03.08 |
LD_PRELOAD 트릭은 무엇입니까? (0) | 2020.03.08 |
PostgreSQL은 데이터베이스를 어디에 저장합니까? (0) | 2020.03.08 |