Spammers가 Mailto 링크에서 이메일 주소를 얻지 못하게하는 방법은 무엇입니까? [복제하다

StackOverflow https://stackoverflow.com/questions/769894

문제

복제하다:


스패머가 Mailto 링크에서 이메일 주소를 얻지 못하게하는 가장 좋은 방법은 무엇입니까? 나는 JavaScript가 해결책이 될 수 있다는 인상을 받고 있습니다. 내 현재 솔루션이 바보 증거인지 모르겠습니다. 그래서 제가 묻는 이유입니다.

내가 현재하고있는 일은 다음과 같습니다.

<script language="JavaScript"><!--
var name = "emailusername";
var domain = "yahoo.com";
var text = "emailusername@yahoo.com";
document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
document.write(text + '</a>');
// --></script>

더 좋은 방법이 있습니까? 나는 Mailto 링크를 넣고 싶은 곳 마다이 코드 덩어리를 갖는 것을 좋아하지 않는다.

다른 팁

JavaScript가 도움이되지만 이것은 큰 도움이되지 않습니다. 이메일 주소는이 유형의 스크립트를 사용하여 HTML 소스에서 여전히 볼 수 있습니다.

"최상의"옵션은 클라이언트 측 JavaScript를 사용하여 전자 메일 주소를 부품으로 "빌드"하므로 전체 이메일 주소는 HTML 소스에서 한 조각으로 보이지 않습니다. 브라우저는 클라이언트에서 당신을 위해 합류합니다.

간단한 수정 :

<script language="JavaScript"><!--
var name = "emailusername";
var domain = "yahoo.com";
document.write('<a href=\"mailto:' + name + '@' + domain + '\">');
document.write(name + '@' + domain + '</a>');
// --></script>

기본적으로 리드가 제안한 것과 동일하지만 기존 코드와 동일합니다.

그것은 원격으로 좋은 방법이 아닙니다. 스패머는 모든 것을 가져 와서 재규어와 일치합니다. 그들은 Mailto를 찾는 것을 귀찮게하지 않을 것입니다. 또한 JavaScript로 생각할 수있는 모든 계획은 이미 스패머가 도착하고 반대했습니다. 사실, 그들은 아마도 JavaScript를 실행하고 주소를 얻을 수있을 것입니다.

당신은 할 수 있습니다

a) 필터 스팸
b) 양식을 사용하여 우편물을 제출하십시오 (스패머가 여전히 사용될 것입니다.)

당신은 올바른 길을 가고 있지만 있습니다 emailusername 거기에서 목적을 물리칩니다 (대부분의 거미 봇은 HTML과 스크립트 코드를 구별하는 것을 귀찮게하지 않고 페이지에서 이메일과 같은 것으로 보이는 것을 찾습니다).

나는 일부 거미 봇이 지금 JavaScript를 실행할 수있는 능력을 가지고 있다는 증거를 들었고, 이런 종류의 난독 화를 스스로 해결할 것입니다.

모든 이메일 주소를 이미지 등으로 배치하는 것과 같이 이메일 사용을 방해하는 멍청한 트릭을 제외하고는 110%의 확실한 방법이 없습니다.

적어도 개인적으로 나는 주소가 적어도 어느 정도 수확 될 것이라고 인정했다. 이 작은 PHP- 기능을 사용하여 모든 이메일 주소를 HTML-encode합니다. 그렇게하면 모든 실제 브라우저가 완벽하게 사용할 수 있지만 가장 멍청한 수확기를 속일 수 있습니다. 내가 말했듯이, 그것은 110%가 아니지만 나는 그것에 만족합니다.

function turboencode($s){
    $tempstr = "";
    for($i = 0; $i < strlen($s); $i++){
        $c = substr($s, $i, 1);
        $tempstr .= "&#" . ord($c) . ";";
    }
    return $tempstr;
}

수확을 방지하는 가장 좋은 방법은 단순히 Mailto : Link를 전혀 갖지 않는 것입니다.

그 미정 카운터는 많지 않습니다. CSS 컨텐츠 및 이미지와 같은 것들이 시도되고 우회되었으며 JavaScript는 반쯤 비 솔루션입니다.

가능한 한 가지 카운터는 난독 화입니다. 다음과 같이 주소에 넌센스를 추가하십시오.

mailNO`at`SPAMyahoo`dot`com

그리고 대부분의 자동화 된 수확기는 (초기에) 감지하는 데 어려움이 있습니다. 또는 주석과 같은 것들이 대부분의 수확기를 혼동하는 데 사용될 수 있습니다. (RFC822는 주소 지정의 일부로 의견을 포함하는 이메일 주소의 전체 구문을 설명합니다.)

또 다른 카운터는 일종의 담벽이있는 양식을 사용하는 것입니다.

그들 중 누구도 완전히 효과적이지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top