PHP를 사용하여 이메일 주소를 난독 화하여 스패머가 쉽게 수확하지 않도록하려면 어떻게해야합니까? [복제하다

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

문제

PHP로 프로그래밍하고 있으며 인간이 쉽게 읽을 수 있지만 스패머가 쉽게 수확 할 수없는 이메일 주소가있는 웹 페이지를 만들고 싶습니다. 이메일 주소는 사용자 입력에서 나오고 정규 표현식을 사용하여 주소를 식별 할 수 있다고 생각하지만 대부분의 자동 스팸 봇을 수확.

다음은 한 가지 아이디어입니다. (의사 코드)

(email)@(domain.com) $1<span class="remove">DELETE</span>$2

.remove {
   display: none;
}

바라건대 봇이 스팬 태그로 올라 가기를 바랍니다.

마지막으로, 나는 내부에있는 이메일 주소를 방해하지 않는 솔루션을 찾고 있습니다. mailto: 태그.

복제 봇이 전자 메일 주소를 수집하는 것을 방지하는 방법은 무엇입니까? 복제입니다 스팸봇에서 웹 사이트에서 이메일을 보호하는 몇 가지 방법은 무엇입니까? 그리고 아마도 다른 ...

도움이 되었습니까?

해결책

CSS를 사용하여 난독화할 수 있습니다 ...

<span class="email-encrypt">moc.liamelgoog@avynnib<span class="email-decrypt-message">(Reverse this text to get my Email address)</span></span>

/*Decrypt Email */
.email-encrypt {
    unicode-bidi:bidi-override;
    direction: rtl;
}
.email-encrypt .email-decrypt-message {
    display:none;
}

편집 : 여기, 소스의 이메일 주소는 반대로되어 있습니다. CSS 진술은 이메일 주소를 원래 양식으로 되돌립니다. 나는 그것이 말이되기를 바랍니다.

그러나 이것이 얼마나 효과적인지 확실하지 않습니다. 브라우저 환경을 시뮬레이션하는 많은 봇이 있습니다. 내 이메일은 Binnyva, Googlemail입니다.

다른 팁

사용 GD 이메일 ID의 이미지를 만듭니다

당신은 사용할 수 있습니다 PHP GD 라이브러리 주어진 텍스트의 이미지를 쉽게 만들려면

샘플 코드는 다음과 같습니다.

<?php
  header("Content-type: image/png");
  $im = @imagecreate(110, 20)or die("Cannot Initialize new GD image stream");
  $background_color = imagecolorallocate($im, 0, 0, 0);
  $text_color = imagecolorallocate($im, 255, 255, 255);
  imagestring($im, 1, 5, 5,  "anything@domain.com", $text_color);
  imagepng($im);
  imagedestroy($im);
?>

장점 :

  • Spammers는 OCR을 사용하지 않는 한 캡처 할 수 없습니다.
  • PNG/GIF 형식을 사용하여 오버 헤드가 매우 낮습니다
  • 모든 텍스트에 대해 즉시 생성 할 수 있습니다

단점 :

  • 링크로 메일을 클릭 할 수 없습니다
  • 시각적으로 도전받은 TTS 엔진과 함께 작동하지 않습니다.

하나의 옵션 : JavaScript 이메일 난독 화, 및 JavaScript가 비활성화 된 경우 이미지

위의 트릭 (CSS 사용)은 거의 작동하지 않습니다. 나는 봇이 CSS를 전혀 보는지 여부를 모른다. 사실 나는 그들이 html을 읽는 것을 완전히 확신하지 못하고, 아마도 일부 Regex의 전체 페이지와 일치 할 것이다.

반면에, 이것은 스팸 트랩으로 목록을 포장하는 것을 매우 쉽게 만듭니다. 특정 주소가 스팸 (및 스팸 전용)을 수신하려면 필터를 훈련시키기 위해 정상적인 사용자가 보거나 클릭 할 수없는 페이지에 이메일 주소를 넣을 수 있습니다.

실제로, 실험을 수행하십시오 - 다른 유형의 링크가있는 여러 가지 다른 이메일 주소를 작성하고, 얼마나 많은 스팸을 얻는 지 확인하십시오.

몇 달 전에 내 웹 사이트에서 정상적인 링크로 시도했는데 트랩이 스팸을 받기 시작하기까지 약 3 주가 걸렸습니다.

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