Cách liệt kê địa chỉ email Liên hệ với chúng tôi Địa chỉ email trên trang web, nhưng giảm khả năng spam?


70

Cách tốt nhất để liệt kê một địa chỉ email "Liên hệ với chúng tôi" trên một trang web, trong khi giảm khả năng nó sẽ bị spam?

Là đặt địa chỉ email trong một hình ảnh là kỹ thuật tốt nhất, hoặc có những người khác?


35
Xin lưu ý rằng bất cứ điều gì đánh bại bot cũng có thể sẽ đánh bại người dùng khiếm thị
MrChrister


@MrChrister ... và trắng trên nền trắng đánh bại người dùng nhưng không phải bot.
Talvi Watia

2
Hóa ra ... ai đó thiết lập một nồi mật ong và thu thập kết quả trong một khoảng thời gian dài hơn. Đây là kết quả ... superuser.com/questions/235937/ . Rõ ràng, sử dụng CSS để thay đổi hướng của địa chỉ và / hoặc chèn mã ẩn tùy ý vào địa chỉ email là giải pháp tốt nhất. Rõ ràng, OCR không phải là một mục phổ biến trong hộp công cụ spambot.
Evan Plaice

har, tôi thậm chí không nhớ tôi đã trả lời một câu hỏi tương tự với superuser-one ở đây :)
akira

Câu trả lời:


54

Tôi chuyển tất cả các biểu mẫu liên hệ thông qua tài khoản Gmail vứt đi, chuyển tiếp thư đến địa chỉ email thực. Nó miễn phí, thật dễ dàng và phát hiện thư rác của Gmail là đỉnh cao.

Nó không đòi hỏi thêm nỗ lực khi tạo trang web và nếu có bất cứ điều gì thông qua bạn chỉ cần đăng nhập vào tài khoản Gmail và gắn cờ là thư rác.

Sau đó, bạn có thể đặt hộp thư đến Gmail tự động lưu trữ mọi thứ đã được chuyển tiếp hoặc thậm chí xóa nó nếu bạn không muốn bản sao bổ sung đó được giữ ở đó.


2
Tôi có tài khoản Google Apps mà tôi sử dụng theo cách tương tự. Ưu điểm của Google Apps so với tài khoản Gmail là bạn có thể tạo tối đa 50 bí danh email (biệt danh) cho mỗi tài khoản. Tôi đã từng sử dụng tài khoản Gmail cho những thứ như thế này, nhưng tôi sẽ luôn quên thông tin đăng nhập 1 năm sau đó và điều đó gây ra nhiều khó khăn hơn với Google Apps. (Vẫn là một kỹ thuật tuyệt vời. +1)
jessegavin

+1 nhưng tôi có thể thấy nhược điểm - một số người sẽ tin tưởng một email từ tên miền của bạn, thay vì một thiết lập sử dụng nhà cung cấp email miễn phí.

6
Lazlow: Tôi nên rõ ràng hơn. Lúc đầu tôi gặp vấn đề đó, vì vậy tôi hiện đang thiết lập chuyển hướng thư bằng tên miền của trang web, chuyển hướng đến tài khoản Gmail, chuyển tiếp đến địa chỉ email cá nhân của tôi (là một tài khoản Gmail khác), gắn thẻ với nhãn xác định trang web nào nó đến từ và bỏ qua hộp thư đến. Mọi người nghĩ rằng họ đang gửi email đến địa chỉ email info@mydomain.com hoặc contact@myotherdomain.com nhưng tất cả họ đều đến tài khoản Gmail chính của tôi và ngồi trên nhãn cho mydomain, myotherdomain, v.v.
Callan

1
Gmail cũng cho phép bạn trả lời bằng địa chỉ email mà bạn đã xác minh. Vì vậy, bạn có thể trả lời từ bên trong gmail là "roy@royronalds.com", mặc dù email thực tế sẽ chỉ định một sự khác biệt tinh tế như "được gửi thay mặt cho roy@royronalds.com bởi roy @ gmail". Thậm chí ít người có thể nhận thấy rằng bạn đang sử dụng gmail để thực sự gửi như thể từ một địa chỉ khác.
Kzqai

@Lazlow đọc bình luận @jessegavin ở trên
Sruly

30

Sử dụng một obfuscator email


12
So sánh các kỹ thuật với 1,5 năm dữ liệu techblog.tilllate.com/2008/07/20/ từ
Doug Harris

@DougHarris Bạn (hoặc bất kỳ ai khác) tình cờ biết về một nghiên cứu mới hơn về điều này (nghiên cứu này đã gần 10 tuổi)? Làm thế nào tốt những phương pháp này làm việc ngày hôm nay? Tôi đã không thể tìm thấy một nghiên cứu mới hơn.
JonasCz nói Phục hồi lại

20

Không trả lời của tôi là không làm điều này. Các hệ thống email hiện đại, chẳng hạn như GMail và thiết bị chống thư rác Barracuda, thực hiện công việc tuyệt vời để lọc thư rác. Bất kỳ rào cản nào bạn đặt giữa bạn và khách truy cập của bạn có nghĩa là mức độ tương tác thấp hơn và, tùy thuộc vào loại trang web, khả năng mất doanh số.

Nếu bạn lo lắng về những người dùng chưa cài đặt ứng dụng thư khách gốc hoặc những người không cài đặt mailto: handler, thì hãy có trang Liên hệ với cả hai địa chỉ email được liên kết và một biểu mẫu (không có CAPTCHA) và để người dùng lựa chọn.

Thư rác gây phiền nhiễu, nhưng đó là gánh nặng của chúng tôi, không phải người dùng của chúng tôi.


18

Sử dụng ngôn ngữ tự nhiên để đánh vần địa chỉ email ...

Ví dụ:

thatguy at gmail dot com

Bạn sẽ ngạc nhiên về việc viết một bot có thể phân biệt ngôn ngữ tự nhiên khó như thế nào so với viết bot chỉ tìm kiếm ký hiệu @ và lấy lại địa chỉ bình thường.

Nó không phải là 100% hoàn hảo nhưng nó không tệ hơn obfuscation và nó sẽ không xa lánh người dùng khiếm thị và / hoặc người dùng bị vô hiệu hóa JavaScript.

Cập nhật: Đây là một ví dụ về kỹ thuật này đang hoạt động .

Cập nhật 2:

Nó chỉ ra rằng ai đó đã thực sự nghiên cứu về điều này và đăng nó trực tuyến. Xem bài đăng SuperUser mô tả kết quả hoặc bài viết gốc


6
Tôi có xu hướng đặt câu hỏi về phương pháp này. Chủ yếu là vì nó đã tồn tại khá lâu và tôi không thể tưởng tượng bất kỳ trình thu thập email nào được phát triển trong 10 năm qua sẽ không bắt đầu mỗi trang mới bằng cách thay thế "at", "[at]", "dot" hoặc tương tự với các nhân vật tương ứng của họ.
hultqvist

@phq Tại sao? Có quá khó để tin rằng không có trình thu thập dữ liệu nào có thể đánh bại tất cả các tùy chọn mã hóa JavaScript và mã hóa bằng cách chụp nhanh một trang, chạy OCR và regex cho @? Chỉ vì có thể tạo một bot có thể khắc phục tất cả các kỹ thuật này không có nghĩa là những kẻ gửi thư rác sẽ làm. Ưu điểm của việc sử dụng ngôn ngữ tự nhiên là nó sử dụng đa dạng hơn nhiều so với URI email tiêu chuẩn. Biểu tượng @ thường không.
Evan Plaice

2
@Evan, quan điểm của tôi là kỹ thuật này đã trở nên quá phổ biến, thường là vấn đề khi chống spam. Tôi khẳng định rằng kỹ thuật này không phải là một kỹ thuật ngôn ngữ tự nhiên, đó sẽ là một cái gì đó như "Gửi email cho tôi tại ví dụ tên miền với tld com và tên người dùng foo". Kỹ thuật "tại" chỉ là một kỹ thuật thay thế biểu tượng.
hultqvist

@phq Tôi cho rằng các kỹ thuật mã hóa javascript giá rẻ đã xuất hiện từ rất lâu và cũng dễ phá vỡ. Vấn đề là, nó sẽ không loại bỏ những người dọn dẹp trang khỏi việc bắt email từ các trang, nhưng nó sẽ 'giảm khả năng' như câu hỏi gợi ý. Ngoài ra, đây là tùy chọn dễ thực hiện nhất mà không khiến người dùng của bạn xa lánh. Tôi không thấy quan điểm của bạn làm cho tùy chọn này tệ hơn bất kỳ điểm nào khác.
Evan Plaice

1
Tôi cũng đã thấythatguy funny-symbol gmail.com
rlb.usa

12

Cá nhân, tôi không hiển thị địa chỉ email trên các trang web, nhưng thay vào đó có một mẫu liên hệ dễ sử dụng, dễ truy cập, cùng với một dấu hiệu cho biết email đến từ ai; cho phép người dùng gửi email của chủ sở hữu và nhà điều hành trang web mà không để lộ địa chỉ email hoặc phải chuyển qua nhiều vòng JavaScript khác nhau, v.v.

Đây thường là cách tốt nhất nếu bộ lọc thư rác của bạn không tinh vi.


2
Có rất nhiều người gửi thư rác hiện điền vào các mẫu liên hệ như vậy.
txwikinger

4
Tôi không bao giờ điền vào mẫu liên lạc. Nếu tôi không thể tìm thấy một email liên hệ thì đơn giản là tôi không làm kinh doanh với công ty đó. Bây giờ, nếu đó là điều bắt buộc đối với tôi và không có email liên hệ, tôi thích gọi điện thoại hơn, thậm chí là quốc tế. Vấn đề với các hình thức liên lạc là tôi không bao giờ có thể chắc chắn liệu họ có chuyển tiếp một bản sao thông tin đã nhập vào địa chỉ email của tôi hay không, vì vậy tôi bắt buộc phải sao chép-dán thông tin vào một nơi nào đó để theo dõi chi tiết.
vmarquez

@vmarquez: Đủ công bằng. Bạn có vui không nếu có một tùy chọn để chuyển tiếp thư đến địa chỉ của bạn? Tôi đã có một số khách hàng muốn cho phép người dùng của họ gửi email cho họ theo cách hoạt động theo cách có thể truy cập, không hỗ trợ JS, mà không để lộ địa chỉ email của họ cho những kẻ gửi thư rác. Họ có số điện thoại của họ trên trang web của họ, vì vậy bạn sẽ có thể liên hệ với họ theo cách đó; Vì tò mò, bạn có ghi lại các cuộc gọi điện thoại của mình với các công ty để theo dõi chúng không (xem như hầu hết yêu cầu ghi lại chúng để đào tạo)?
Zhaph - Ben Duguid

2
@Zhap: Bạn nói đúng, tôi rất vui nếu trang có biểu mẫu có ghi chú cho biết tôi sẽ nhận được một bản sao yêu cầu của tôi qua email. Một số trang web bao gồm ghi chú đó và tôi sử dụng mẫu. Đối với những trường hợp tôi cần gọi qua điện thoại, tôi không thực hiện yêu cầu của mình trong suốt cuộc gọi. Tôi yêu cầu một email thay thế và tiến hành gửi email cho họ. Tôi thích các liên hệ ban đầu được thực hiện bằng email vì tôi có xu hướng thực hiện nghiên cứu sản phẩm / dịch vụ thay cho nhiều khách hàng và theo cách đó tôi giữ một dấu vết chi tiết về những gì được hỏi / trả lời trong từng trường hợp.
vmarquez

@vmarquez: Bạn không thể điền vào biểu mẫu, sau đó lưu / in thành PDF biểu mẫu đã điền?
Andrew Grimm

9

sử dụng css để ẩn một số nhiễu từ văn bản thực (chỉ tất cả trong một dòng, tôi đã định dạng nó để minh họa kỹ thuật tốt hơn):

u<span class="spam">noise</span>ser
@<span class="spam">noise</span>
example<span class="spam">noise</span>
.com

và sau đó sử dụng đoạn trích css nhỏ này:

.spam { display: none; }

nếu bạn cần mailto:nội dung hợp lệ , thì bạn phải tạo nội dung đó qua jscript trong dom, xem một số câu trả lời khác cho điều đó. nhưng tôi không phải là một người bạn lớn của điều đó


công việc này để chọn văn bản?
Andrei Rînea

2
Điều này không thể truy cập được, vì trình đọc màn hình có xu hướng bỏ qua các bảng định kiểu.
Không hài lòngGoat

8

Những gì tôi làm là viết ra địa chỉ email dưới dạng từ, được bọc trong thẻ span : <span class="email">joe dot blow at gmail dot com</span>. Sau đó, một tập lệnh cấp trang chạy, lấy bất kỳ khoảng nào như vậy và thay thế từng đoạn bằng một liên kết email được xây dựng. Nó có thể không quá mơ hồ, nhưng tôi đã không có khiếu nại. Ngoài ra, nếu JavaScript bị vô hiệu hóa, người dùng vẫn có thể đọc văn bản nhịp thực tế.


Điều này sẽ không giúp ích nhiều cho các bot tốt. Nếu bot chạy JavaScript (điều này không phải là việc lớn - hãy chạy trang trong công cụ trình duyệt và lấy HTML được tạo), nó có một địa chỉ hoàn hảo. Bắt ai đó tại gmail dot com không khó hơn một chút so với bắt
ai đó @ gmail

8

Giải pháp tốt nhất: sử dụng bộ lọc thư rác .

Tôi thực sự sử dụng Gmail để xử lý tài khoản email POP3 cho doanh nghiệp của mình, vì việc kiểm tra email trên các máy tính khác nhau dễ dàng hơn nhiều. Bộ lọc thư rác của Gmail là tốt nhất trên thế giới.

Vì vậy, bạn chỉ có thể hiển thị webmaster@example.com làm địa chỉ email của mình và quên thư rác.


+1, Spam Assassin cũng có thể được điều chỉnh để cực kỳ hiệu quả cho những người không muốn sử dụng Google.
Tim Post

7

sử dụng mã hóa html như thế &#649&#7854&#7575, trình duyệt sẽ hiển thị nó như "abc"


1
Tôi đã sử dụng kỹ thuật này trước đây và nó dường như hoạt động tốt. Nó cũng minh bạch cho người dùng và không phụ thuộc vào JavaScript :)
Michael Mior

Sẽ là một nỗi đau của hoàng gia khi viết một bot để phân tích văn bản đó. Mặt khác, nó khá rõ ràng là một địa chỉ email hoặc một cái gì đó nhạy cảm.
Mircea Chirea

Trên thực tế, sẽ rất dễ dàng để viết một bot để phân tích các thực thể HTML. Giải mã văn bản được mã hóa là điều mà máy tính thực hiện khá dễ dàng, nhưng con người gặp nhiều rắc rối hơn (đó là lý do tại sao trình duyệt của bạn làm điều đó cho bạn). Đó là lý do tại sao điều kỳ lạ là phương pháp này vẫn hiệu quả.
Lèse majesté

5

Sử dụng thư viện đồ họa (chẳng hạn như GD được PHP hỗ trợ hoặc tương tự) để tự động tạo hình ảnh .png chứa địa chỉ email.

So với câu trả lời khác của tôi , giải pháp này ít gây khó chịu hơn cho người dùng (nhưng không minh bạch; họ không thể sao chép và dán nó mà phải gõ lại từ đầu) nhưng cũng kém an toàn hơn: một máy tính có thể đọc được hình ảnh không bị ảnh hưởng.

Nhưng nhìn chung tôi nghĩ đó là một sự thỏa hiệp tốt; nó sẽ ngăn chặn phần lớn các bot spam.


Nó cũng sẽ gây khó chịu cho đại đa số người dùng. Không nhấp chuột, không sao chép, dán, cảm ơn, điều này đặc biệt khó chịu trên một thiết bị nhỏ như điện thoại, nơi bạn không thể gõ nhanh.
Mircea Chirea

5

Một cách khá tốt, trong khi không hoàn hảo là tạo địa chỉ e-mail thông qua javascript. Hầu hết các con nhện tìm kiếm e-mail không thực thi javascript và do đó không tìm thấy địa chỉ e-mail có thể đọc được.

Đây chỉ là một ví dụ làm thế nào nó có thể được thực hiện.


3
Còn người dùng không kích hoạt JavaScript thì sao?
Evan Plaice

1
@Evan: Ai, trong thế kỷ 21 này, vô hiệu hóa JavaScript, ngoại trừ những sysadins hiếm khi duyệt web từ hộp sản xuất? ;-)
Chris W. Rea

1
@Chris, tôi chỉ bật Javascript (hoặc cookie), nếu có thứ gì đó cụ thể tôi muốn từ trang web yêu cầu nó (ví dụ như trang này chẳng hạn). Tất nhiên, tôi có thể là người cuối cùng của mình ... :)
Cyclops

5

Tôi sử dụng một tập lệnh Python đơn giản để chuyển đổi địa chỉ email thành một liên kết mailto trong đó địa chỉ email là thực thể HTML được mã hóa. Điều này là hoàn toàn minh bạch cho người dùng, nhưng dường như che khuất nội dung đủ để đánh bại hầu hết các bot thu hoạch đơn giản.

#! /usr/bin/env python3.0

def entity_encode(text):
    out = ""
    ba = text.encode()
    for i in range(len(ba)):
        out = out + "&#x{0:02x};".format (ba[i])
    return out

def print_email_link(address) :
        print('<!-- {0} -->'.format(address))
        print('<a href="{0}{1}">{1}</a>'.format(entity_encode("mailto:"), entity_encode(address)))


print_email_link("test123@example.com")

Điều này cho đầu ra

<!-- test123@example.com -->
<a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#x74;&#x65;&#x73;&#x74;&#x31;&#x32;&#x33;&#x40;&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#x6f;&#x6d;">&#x74;&#x65;&#x73;&#x74;&#x31;&#x32;&#x33;&#x40;&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#x6f;&#x6d;</a>

Khi kết quả được dán vào một trang web, trình duyệt sẽ hiển thị nội dung "test123@example.com" dưới dạng siêu dòng tới "mailto: test123@example.com", vì vậy nó rất thuận tiện cho người dùng cuối như bao gồm cả địa chỉ trong Rõ ràng. Nhưng nó dường như đánh bại nhiều bot thu hoạch.

Rõ ràng, tôi xóa nhận xét bằng phiên bản ASCII đơn giản của địa chỉ một khi tôi đã dán liên kết email bị che khuất vào vị trí thích hợp trong nguồn HTML của trang web.


4

Yêu cầu người dùng giải quyết CAPTCHA trước khi cho họ xem địa chỉ email (hoặc nếu bạn có biểu mẫu liên hệ, trước khi cho phép người dùng gửi nó).

Nó gây khó chịu nhất cho người dùng nhưng chắc chắn là hiệu quả nhất.


9
Tôi không biết điều gì gây phiền nhiễu hơn, phải nhập captcha hoặc nhấp vào liên kết email để nhận được trình hướng dẫn thiết lập triển vọng. Nó rõ ràng phụ thuộc vào khán giả nhưng tôi nghĩ hình thức liên lạc là con đường để đi.
Gabriel

@Gabriel: Captcha chắc chắn gây phiền nhiễu nhưng tôi hoàn toàn đồng ý với bạn. Tôi muốn mọi người ngừng sử dụng mailto. Ngày nay, đủ dễ dàng gửi e-mail trực tiếp qua máy chủ.
Omar Kohl

1
CAPTCHA không phải là một giải pháp IMHO. Đừng trừng phạt người dùng của bạn vì tội lỗi của người khác. Bạn đang đặt gánh nặng lên người dùng của mình, nơi có các giải pháp khác.
vmarquez

3

Tôi là một fan hâm mộ của obfuscation, trong đó địa chỉ email về cơ bản được hiển thị bằng Javascript.

Ví dụ, my@email.comcó thể được hiển thị là

<a href="javascript:location='mailto:\u006d\u0079\u0040\u0065\u006d\u0061\u0069\u006c\u002e\u0063\u006f\u006d';void 0">
<script type="text/javascript">document.write('\u006d\u0079\u0040\u0065\u006d\u0061\u0069\u006c\u002e\u0063\u006f\u006d')</script></a>

Theo như người dùng quan tâm, đó là văn bản bình thường và có thể được sao chép và dán. Bots mặt khác sẽ có một thời gian khó khăn hơn với nó.

Đây là obfuscator tôi đã sử dụng.


Bạn cũng có thể sử dụng<a href="#" onclick="document.location.href='mailto:...'; return false">
Mark Henderson

Hai giải pháp đó sẽ không hoạt động tốt nếu không có JS, phải không?
Cấp Palin

2

Một chiều:

  <script language="javascript"> 
  <!--
  var name = "user"
  var host1 = "gm"
  var host2 = "ail.com"
  var addr =
  document.write("<a href=mai" + "lto:" + 
    name + "&#64;" + host1 + host2 +
    ">" + name + "&#64;" + host1 + host2 + "</a>")
  //-->
 </script> 

Bạn có thể viết "Giải mã email của tôi: người dùng tại com dot gmail" trong <noscript>các thẻ cho những người đã tắt javascript. Bằng cách này bạn có được chức năng siêu liên kết. Bạn có một cơ hội tốt để giữ những người gửi thư rác khỏi địa chỉ của bạn và những người đã tắt javascript hoặc chỉ văn bản trình duyệt vẫn có thể nhận được địa chỉ email của bạn.


Tôi sử dụng tương tự, với nhiều vars - theo tôi, sẽ khó hơn để ghép các giá trị riêng lẻ lại với nhau cho một bot.

2

Tất cả các kỹ thuật che giấu trên thế giới không thể giúp đỡ về lâu dài nếu bạn có nhiều người liên lạc với bạn. Tất cả chỉ là để ai đó gửi cho bạn một tin nhắn và sau đó bị nhiễm một số phần mềm độc hại quét hộp thư đến của họ / gửi thư / sổ địa chỉ / bất cứ điều gì cho các địa chỉ hợp lệ, và địa chỉ của bạn được chuyển từ danh sách sang danh sách [Tôi thậm chí còn có danh bạ Những người đủ ngu ngốc để đặt địa chỉ email và mật khẩu vào các biểu mẫu trực tuyến vì những lý do ngu ngốc nhất, có lẽ bạn cũng vậy, gần đây nhất là một trang web được cung cấp để tính toán "biểu đồ và dự đoán chiêm tinh email" của ai đó đã ngay lập tức spam tất cả liên hệ của những kẻ ngốc với lời mời đến cùng một trang và <vị thần> chỉ biết kết quả những danh sách khác mà chúng tôi hiện đang có là gì] .

Địa chỉ trên các trang web công cộng của tôi không chỉ là một địa chỉ vứt đi - đó là trên một tên miền phụ. Nếu tôi bắt đầu nhận được thư rác trên tên miền phụ đó, tôi sẽ tạo một tên miền mới, cập nhật các trang web có liệt kê chi tiết liên hệ của tôi và một thời gian ngắn sau đó tôi sẽ xóa hoàn toàn tên miền phụ khỏi bản ghi DNS. Nếu bạn làm điều này hoặc bất kỳ kỹ thuật địa chỉ vứt đi nào khác, hãy đảm bảo bạn làm rõ (trên bất kỳ trang nào liệt kê địa chỉ và ở chân trang của bất kỳ thư nào bạn gửi bằng địa chỉ đó) rằng địa chỉ sẽ thay đổi trong tương lai và nếu mọi người có thể thay đổi Không được thông qua họ nên kiểm tra lại để đảm bảo rằng họ có địa chỉ chính xác.

Điều này có lợi thế là chỉ là một địa chỉ đơn giản để mọi người nhấp vào (nếu trình duyệt + trình gửi thư của họ được liên kết theo cách đó) hoặc sao chép + dán mà không cần sử dụng bộ não của họ để chỉnh sửa địa chỉ sau đó (Tôi luôn ngạc nhiên về số lượng khác người thông minh và biết quan sát không thể hiểu điều đó đúng). Điều đó cũng có nghĩa là máy chủ thư của tôi không dành nhiều ngày để gửi thư đến địa chỉ "ngẫu nhiên" (aaron @, adam @, amy01 @, ...) tại các tên miền phụ đã hết hạn. Nó cũng không gây nhầm lẫn cho các trình đọc màn hình được sử dụng bởi người mù hoặc người nghèo.

Một tùy chọn khác mà tôi chưa thử là sử dụng yêu cầu AJAX để đọc trong địa chỉ email và các chi tiết khác. Điều này có thể hiệu quả hơn một chút so với document.writeobfuscation, nhưng sẽ tăng thêm một chút tải trên máy chủ web.

Thay vào đó, tôi thường sử dụng biểu mẫu "liên hệ với tôi / chúng tôi" nhưng tôi thấy rằng họ bị spam nhiều như, đôi khi còn hơn cả địa chỉ email văn bản đơn giản - đôi khi bởi các tập lệnh đang cố sử dụng biểu mẫu để tạo tài khoản ở đâu đó chứ không phải sử dụng nó như một hình thức liên lạc.


1

Nếu bạn có bộ lọc bot (sử dụng 1x1px, mạng con, bot đã biết, phát hiện jscript, trình giới thiệu http và tác nhân trình duyệt), bạn không thể hiển thị thông tin nếu đó là bot.

Giải pháp trong PHP:

<?
if (!isbot()) {
  echo 'mailto:'.$email_address_for_real_people;
  }
  else {
  echo 'mailto:yourself_bot@'.$bots_domain_address;
  }
?>

BTW, isbot()là một chức năng do người dùng tạo chỉ ra bất kỳ thói quen lọc bot nào bạn có.
Talvi Watia

1

Cách dễ nhất tôi tìm thấy là sử dụng biểu mẫu liên hệ có địa chỉ mặc định, nhưng cũng có khả năng người dùng chọn người liên lạc nên đến (tiếp thị, bán hàng, hỗ trợ kỹ thuật, v.v.). Sau đó, dựa trên giá trị thả xuống, dữ liệu biểu mẫu đã đăng được gửi bởi máy chủ đến địa chỉ email thích hợp.

Chạy danh sách liên lạc này ra khỏi bảng cơ sở dữ liệu để bạn có thể dễ dàng cập nhật / thêm các mục vào trình đơn thả xuống. Bằng cách đó, bạn sẽ không bao giờ để lộ bất kỳ loại địa chỉ nào cho thế giới rộng lớn của các bot spam và vẫn cung cấp cho người dùng của bạn một cách tuyệt vời để gửi phản hồi.


1

Không thể nào, Jose! - Vâng, Jose!

Hoàn toàn không có cách nào để 'dừng' việc thu hoạch a href="mailto:" địa chỉ email. Từ lâu, người ta tin rằng sử dụng JavaScript là một cách tốt để ngăn chặn hầu hết các bot thu hoạch nhưng ngày nay các bot khá giỏi trong việc đánh bại phương pháp này. Họ cũng có thể đánh bại hình ảnh có chứa địa chỉ email, giống như cách họ có thể đánh bại captcha bằng phần mềm decaptcha.

Cách tốt hơn!

Cách tiếp cận tốt hơn sẽ là sử dụng một dịch vụ thư tín uy tín cung cấp khả năng chặn thư rác tốt. Google G SuiteMicrosoft Office 365 sử dụng thuật toán không thể so sánh với bất kỳ phần mềm nào trên thị trường, chủ yếu là vì họ nhận được hàng triệu email mỗi ngày và họ có thể 'tìm hiểu' và những kẻ gửi thư rác trong danh sách đen từ lâu trước khi họ cố gắng gửi email cho bạn.

Trên thực tế, một năm trước, Google cho biết công nghệ máy học của họ hiện chặn 99,9% thư rác và thư lừa đảo của Gmail , Microsoft Exchange và các máy chủ thư chạy phía sau plesk / cpanel không thể cạnh tranh với sự bảo vệ này.

Tóm lược

Chặn thư rác bằng cách sử dụng dịch vụ thư tín uy tín có khả năng học máy AI. Bạn cũng có thể tiến thêm một bước bằng cách ngăn những kẻ gửi thư rác truy cập trang web của bạn bằng Cloudflare, điều này sẽ phát hiện phần lớn các bot hung hăng trước khi chúng truy cập trang web của bạn.


0

Tôi đã sử dụng fred@no-spam.domain.com trong nhiều năm. Người dùng thường biết đủ để xóa 'không spam.'.

Mặt khác, tôi chỉ sử dụng một hình thức liên lạc với 'captcha' và gửi thư trực tiếp từ trang web.


4
Tôi ngạc nhiên khi người dùng của bạn biết đủ để xóa 'không spam'. Thông thường, việc đưa ra những suy đoán về việc người dùng có thể nghĩ trước một bước sẽ dẫn đến kết quả khá tai hại. Tôi sẽ không xóa thư rác trừ khi bạn thêm một số ghi chú hướng dẫn tôi làm như vậy (và thậm chí trong trường hợp đó, nhiều người không đọc ghi chú, cửa sổ bật lên ...).
Omar Kohl

7
Làm thế nào để bạn biết người dùng của bạn biết để xóa 'không spam'? Bạn sẽ chỉ được nghe từ những người làm:)
pelms

1
@pelms: Điểm tốt, nhưng một số người coi đó là một lợi thế. Nó có thể hoạt động như một bộ lọc thông minh sàng lọc thư đến của bạn ...
David Spillett

0

Đây là một obfuscator email khác: Enkoder , từ Dan Benjamin. Nó có cả ứng dụng trực tuyến và ứng dụng độc lập cho Mac.


0

Một điều tôi làm là sử dụng API từ http://www.stopforumspam.com để kiểm tra những kẻ gửi thư rác. Hãy liên hệ với tôi để biết chi tiết và tôi sẽ rất vui lòng giúp bạn với nó!

Bud Manz

Thiết kế web Manz, LLC


0

Nếu bạn không phiền khi sử dụng javascript, bạn có thể sử dụng một cái gì đó như ROT13 để làm xáo trộn địa chỉ email. Ví dụ: xem điều này:
http://scott.yang.id.au/2003/06/obfuscate-email-address-with-javascript-rot13/

Cá nhân, tôi thích sử dụng một hình thức liên hệ với chúng tôi và không lo lắng về các spam bots, nhưng tất nhiên tất cả phụ thuộc vào yêu cầu của bạn.


0

Tôi sử dụng một hàm PHP để tạo một số javascript để xuất tập lệnh khi chạy. Lưu ý rằng bạn không cần PHP để tạo JS khi chạy, bạn có thể tạo JS một lần cục bộ và sau đó bao gồm JS tĩnh trong trang của bạn.

Bạn cũng có thể sử dụng chức năng được liên kết với đoạn mã dưới đây để tự động làm xáo trộn các địa chỉ email trong một HTML đã cho (trong đó $ processContent là HTML):

 $emailMatches = array();
 $matchCount = preg_match_all('/(?:[a-zA-Z0-9_\.\-])+\@(?:(?:[a-zA-Z0-9\-])+\.)+(?:[a-zA-Z0-9]{2,4})+/', $processedContent, $emailMatches);

 if($matchCount > 0) {
    $emailMatches = $emailMatches[0];

    foreach($emailMatches as $email) {
    $replacement = createJSMailLink($email);

    $processedContent = str_replace($email, createJSMailLink($email), $processedContent);
 }
}

0

Nếu bạn đang sử dụng biểu mẫu liên hệ, bạn có thể thực hiện kỹ thuật thú vị là sử dụng tên ngẫu nhiên cho đầu vào của mình.

Ví dụ: tôi tạo một biểu mẫu liên hệ, thay vì sử dụng email làm đầu vào, tôi sẽ sử dụng liame, cùng với tên (eman) và nhận xét (tnemmoc). Các bot không thực sự biết những gì đầu vào làm, vì vậy họ chỉ coi thường chúng.


0

Tôi đã thiết lập Biểu mẫu / Bảng tính Google Docs. Tôi có thể kiểm tra các mục nhập mẫu một lần một ngày và hộp thư đến của tôi không bị ngập.


0

Sử dụng Zoho Creator để thiết lập một hình thức liên lạc. Phản hồi bạn nhận được sẽ được lưu trữ trên cơ sở dữ liệu mà bạn có thể truy cập trực tuyến và nó cũng sẽ được gửi qua email cho bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.