program tip

스팸을 피하기 위해 웹 사이트에 이메일 주소를 표시하는 방법은 무엇입니까?

radiobox 2021. 1. 11. 07:56
반응형

스팸을 피하기 위해 웹 사이트에 이메일 주소를 표시하는 방법은 무엇입니까?


내 웹 사이트에 다음과 같이 이메일을 표시합니다.

 <a href="mailto:inf@example.com">Email</a>

그런데 woorank.com을 이용하여 내 웹 사이트를 분석하면서 다음 내용을 읽었 는데 ,이를 피하려면 어떻게해야하나요?

악성 봇은 이메일 주소를 찾아 웹을 긁어 내고 일반 텍스트 이메일 주소는 스팸을받을 가능성이 더 높습니다.


웹 사이트에서 이메일을 숨기는 방법은 여러 가지가 있습니다. 일반적으로 이메일 주소의 HTML 엔티티 버전 ​​(Aziz-Saleh가 제안한대로)을 사용하지만 실제 웹 디자인 관점에서는 웹 사이트에 이와 같은 이메일 주소 만 입력하면됩니다. 가장 사용자 친화적 인 작업이 아닙니다.

예를 들어, mailto:링크는 사용자가 선택한 이메일 애플리케이션을 열도록 브라우저를 자동으로 트리거하지만 이것을 고려하십시오. 모든 사람 전용 이메일 애플리케이션을 가지고 있는 것은 아닙니다 . 예를 들어 Outlook을 사용하지 않고 (Windows 사용자) Windows Live Mail이 설치되어 있지 않으면 내 컴퓨터에서 해당 링크를 열 수 없습니다. 내가 생각하는 당신이 로그인하는 경우 크롬 Gmail에 링크를 열 수 있습니다,하지만 난 그것을 확인해야합니다.

궁극적으로를 사용 mailto:하면 처음에 해당 링크를 사용할 수없는 사용자 기반의 일부를 잠재적으로 소외시킬 수 있습니다.

이메일 양식을 사용하는 것이 좋으며 다음 JSP링크와 같이 PHP와 사용자의 언어로 사용할 수있는 따라하기 쉬운 자습서가 많이 있습니다. JSPStackOverflow 에서 이메일 보내기

서버를 사용하여 이메일을 보내면 이메일 생성 방법, 사용자가 입력 할 수있는 데이터를보다 엄격하게 제어 할 수 있으며 서버에서 생성 한 반환 이메일을 보내서 그들의 메시지를 받았습니다. 이는 고객과 방문자가 귀하에게 연락 할 수 있도록 허용하는 동시에 전체 프로세스를 보호하고 제어 할 수있는 검증 된 실제 방법입니다.

요약 : 원시 mailto:링크는 전용 이메일 프로그램이없는 사람들을 소외시킬 수 있지만 JSP 양식을 사용하는 경우 사용자가 연락하는 방법, 어떤 정보 (필드 및 HTML5 required속성을 사용하여 특정 입력 필드를 위임 할 수 있음)를 제어 할 수 있습니다. do-not-reply이메일로 응답하여 메시지가 들렸다는 것을 알 수 있습니다 (이메일 주소를 요청하는 것을 잊지 마십시오).


과거에 나는 자바 스크립트로 이것을 보았다. 기본적으로 이메일 주소를 자바 스크립트 변수에 할당하고이를 사용하여 요소의 내용을 변경합니다. 필요한 경우 양식의 방향을 가리키는 자바 스크립트가 사용 중지 된 사용자에게 대체를 제공 할 수도 있습니다. 여기에 예가 있습니다.

var user = 'foo',
    domain = 'bar.com',
    element = document.getElementById('email');

    element.innerHTML = user + '@' + domain;
    //OR
    //'<a href="mailto:' + user + '@' + domain + '">Email</a>'  

이렇게하면 봇은 자바 스크립트를로드하지 않으므로 이메일 주소를 볼 수 없습니다.


글쎄, 당신은 매일 다른 방법을 알아낼 수 있습니다. 다음은 jQuery를 사용하는 것입니다.

<a class="mail" href="mailto:john@badmail.mydomain.com">e-mail</a>

그런 다음 jQuery로 클릭을 처리하십시오.

$('a.mail').on('click', function(){
    var href = $(this).attr('href');
    $(this).attr('href', href.replace('badmail.', ''));
});

내가 이것을 좋아하는 이유는 스팸 발송자들이 또 다른 이메일을 수집했다고 생각하여 더미 메일 도메인을 스팸하도록 할 수 있기 때문입니다. 자체 스팸 필터를 유지하고 있다면 불량 버킷으로 샘플을 수집 할 수 있습니다.

또한이 접근 방식을 사용하면 동적 데이터로 페이지를 매우 깔끔하게 렌더링 할 수 있으며 실제 사용자 클릭을 처리하기 위해 전체 사이트에서 자바 스크립트 스 니펫을 한 번만 가질 수 있습니다.

모바일에서도 작동합니다.


해결책 1 :

(Google의 첫 번째 결과)와 같이 공개적으로 사용 가능한 많은 이메일 주소 인코더를 사용할 수 있습니다.

http://www.wbwip.com/wbw/emailencoder.html

이것은 이메일을 문자 엔터티 값으로 인코딩합니다.이를 디코딩하려면 더 많은 논리 양식 스크레이퍼가 필요합니다.

이메일 등 그래서 : test@gmail.com&#116;&#101;&#115;&#116;&#064;&#103;&#109;&#097;&#105;&#108;&#046;&#099;&#111;&#109;뿐만 아니라 흔한에서 사용할 수있다.

해결책 2 :

온라인 이메일-이미지 변환기 사용 (Google의 첫 번째 결과) :

http://www.email2image.com/Convert-Email-to-Image.aspx

이미지로 만들기 위해. 다른 서비스를 사용하면 다음과 같은 API를 통해이를 자동으로 수행 할 수 있습니다.

https://www.mashape.com/seikan/img4me-text-to-image-service#!endpoint-Main


개인적으로, 꽤 간단하고 재미있게 생각해 냈습니다. 이메일 주소를 표시하고 싶은 곳에이 코드를 던졌습니다.

<script>(function whatever(){var s='@',n='nabil',k='kadimi.com',e=n+s+k,l='<a href=mailto:{{spam@cia.gov}}>{{spam@fbi.gov}}</a>'.replace(/{{.+?(}})/g,e);document.write(l)})()</script>

퍼지는

<script>
    (function whatever() {
        var s = '@'
            , n = 'nabil'
            , k = 'kadimi.com'
            , e = n + s + k
            , l = '<a href=mailto:{{spam@cia.gov}}>{{spam@fbi.gov}}</a>'.replace(/{{.+?(}})/g, e)
        ;
        document.write(l);
    })();
</script>

데모

<script>(function whatever(){var s='@',n='nabil',k='kadimi.com',e=n+s+k,l='<a href=mailto:{{spam@cia.gov}}>{{spam@fbi.gov}}</a>'.replace(/{{.+?(}})/g,e);document.write(l)})()</script>


http://www.wbwip.com/wbw/emailencoder.html 과 같은 이메일 인코더를 사용 합니다. 소스와 "a"태그 사이에 주소를 입력하십시오. 이 같은

<a href="mailto:&#105;&#110;&#102;&#111;&#064;&#101;&#120;&#097;&#109;&#112;&#108;&#101;&#046;&#099;&#111;&#109;">&#105;&#110;&#102;&#111;&#064;&#101;&#120;&#097;&#109;&#112;&#108;&#101;&#046;&#099;&#111;&#109;</a>

info@example.com의 인코딩입니다.


Google은 실제로이를위한 서비스를 제공합니다. 무료로 사용할 수 있고 잘 작동합니다 : Mail ReCaptcha


예, 방문자가 연락 할 수 있도록 PHP 양식을 사용하는 것을 의미합니다. 훨씬 더 안전하며 봇이 수천 번처럼 이메일을 보내는 것을 중지합니다. Google에서 문의 양식 자습서를 찾아보세요.

튜토리얼은 php를 사용하라고 알려줄 것이므로 사용자가 양식을 작성하면 양식에 작성한 세부 정보가 포함 된 이메일이 발송됩니다. 그러나 대부분의 양식은 "Captcha"항목처럼 사용되며 거의 "Are you Human?"처럼 봇을 중지합니다. 테스트.

도움이 되었기를 바랍니다.


이메일 주소를 png 또는 gif 형식의 투명한 이미지에 넣고 해당 이미지를 웹 페이지에 표시하십시오. 사람 독자 만이 이미지가 이메일 주소를 표시하고 있음을 알 수 있습니다. 이렇게하면 봇이 웹 사이트에서 이메일 주소를 찾지 못합니다.


내가 사용하고 CloudFlare의 무료 이메일 주소 난독 기능 : https://support.cloudflare.com/hc/en-us/articles/200170016-What-is-Email-Address-Obfuscation-

이메일 수확기 및 기타 봇은 스팸 수신자를 대상으로하는 목록에 추가 할 이메일 주소를 찾기 위해 인터넷을 로밍합니다. 이러한 경향은 원치 않는 이메일의 양을 증가시킵니다.

Web administrators have come up with clever ways to protect against this by writing out email addresses (i.e., help [at] cloudflare [dot] com) or by using embedded images of the email address. However, you lose the convenience of clicking on the email address to automatically send an email.

By enabling Cloudflare Email Address Obfuscation, email addresses on your web page will be obfuscated (hidden) from bots, while keeping them visible to humans. In fact, there are no visible changes to your website for visitors.

To prevent unexpected website behavior, email addresses are not obfuscated when they appear in:

  • Any HTML tag attribute, except for the href attribute of the a tag.
  • Other HTML tags
  • Any page that does not have a MIME type of "text/html" or "application/xhtml+xml"

I'm not affiliated with CloudFlare. I just appreciate all that they offer for free.


The trouble with the JavaScript solutions is that people with JS turned off will also not see the email address. Albeit a minority you need a combination of techniques for the best results.

Many of these techniques are detailed here, but I have provided the solutions only: https://www.ionos.co.uk/digitalguide/e-mail/e-mail-security/protecting-your-e-mail-address-how-to-do-it/

Comments

<p>If you have any questions or suggestions, please write an e-mail to:
us<!-- abc@def -->er@domai<!-- @abc.com -->n.com. 
</p>

Hidden Spans

<style type="text/css">
span.spamprotection {display:none;}
</style>

<p>If you have any questions or suggestions, please write an e-mail to:
user<span class="spamprotection">CHARACTER SEQUENCE</span>@domain.com. 
</p>

Reverse Strings This may not be friendly for multilingual sites.

<style type="text/css">
span.ltrText {unicode-bidi: bidi-override; direction: rtl}
</style>
<p>If you have any questions or suggestions, please write an e-mail to:
<span class="ltrText"> moc.niamod@resu</span>.
</p>

JavaScript as in many other answers

<script type="text/javascript">
var part1 = "user";
var part2 = Math.pow(2,6);
var part3 = String.fromCharCode(part2);
var part4 = "domain.com"
var part5 = part1 + String.fromCharCode(part2) + part4;
document.write("If you have any questions or suggestions, please write an e-mail to:
   <href=" + "mai" + "lto" + ":" + part5 + ">" + part1 + part3 + part4 + "</a>.");
</script>

ROT13 Encryption JavaScript dependant but also helps with GDPR as it's encrypted.

<script type="text/javascript">
function decode(a) {
  return a.replace(/[a-zA-Z]/g, function(c){
    return String.fromCharCode((c <= "Z" ? 90 : 122) >= (c = c.charCodeAt(0) + 13) 
                               ? c : c - 26);
  })
}; 
function openMailer(element) {
var y = decode("znvygb:orahgmre@qbznva.qr");
element.setAttribute("href", y);
element.setAttribute("onclick", "");
element.firstChild.nodeValue = "Open e-mail software";
};
</script>
<a id="email" href=" " onclick='openMailer(this);'>E-mail: please click</a>

CSS Only Borrowed from here: Protect e-mail address with CSS only

<!doctype html>
<html>
<head>
    <title>Protect e-mail with only css</title>
    <style type="text/css">
        .e-mail:before {
            content: attr(data-website) "\0040" attr(data-user);
            unicode-bidi: bidi-override;
            direction: rtl;
        }
    </style>
</head>
<body>

<span class="e-mail" data-user="nohj" data-website="moc.liamg"></span>

</body>
</html>

ReferenceURL : https://stackoverflow.com/questions/23002711/how-to-show-email-addresses-on-the-website-to-avoid-spams

반응형