2009-04-08 11 views
5

Có, tôi nhận ra câu hỏi này đã được hỏi và trả lời, nhưng tôi có câu hỏi cụ thể về điều này mà tôi cảm thấy không rõ ràng về chủ đề đó và tôi không muốn bị mất trong trộn trên một chủ đề khác .Email câu hỏi obfuscation

Các chủ đề trước đây cho biết việc hiển thị địa chỉ email cho hình ảnh theo cách Facebook thực hiện là trải nghiệm quá mức và không chuyên nghiệp cho các trang web doanh nghiệp/chuyên nghiệp. Và có vẻ như sự đồng thuận chung là sử dụng một giải pháp JavaScript document.write bằng cách sử dụng các thực thể html hoặc một số phương pháp khác phá vỡ và/hoặc làm cho chuỗi không đọc được bởi một bot đơn giản. Ứng dụng tôi đang xây dựng thậm chí không cần chức năng "mailto:", tôi chỉ cần hiển thị địa chỉ email. Ngoài ra, đây là một ứng dụng web doanh nghiệp, vì vậy nó cần phải xem/hành động chuyên nghiệp nhất có thể. Dưới đây là những câu hỏi của tôi:

  1. Nếu tôi đi con đường document.write và vượt qua phiên bản thực thể html của mỗi nhân vật, là không có trình thu thập web đủ tinh vi để thực hiện javascript và kéo văn bản trả lại không? Hay liệu đây được coi là thực hành tốt nhất và hoàn toàn (hoặc gần như hoàn toàn) bằng chứng spammer?

  2. Có gì không chuyên nghiệp về giải pháp hình ảnh? Nếu Facebook là một trong những ứng dụng được quản lý cao nhất trên thế giới và hoàn toàn không phải do những người nghiệp dư điều hành, thì tại sao phương pháp của họ lại bị loại bỏ hoàn toàn trong chủ đề khác về chủ đề này?

  3. Nếu câu trả lời của bạn (như trong chủ đề khác) không làm phiền bản thân mình về vấn đề này và để bộ lọc spam của người dùng thực hiện tất cả công việc, vui lòng giải thích tại sao bạn cảm thấy như vậy. Chúng tôi đang hiển thị địa chỉ email của người dùng mà họ đã cung cấp cho chúng tôi và tôi cảm thấy có trách nhiệm bảo vệ họ nhiều nhất có thể. Nếu bạn cảm thấy điều này là không cần thiết, hãy giải thích lý do.

Cảm ơn.

Trả lời

4
  1. nó không phải là bằng chứng spammer. Nếu ai đó nhìn vào mã cho trang web và det của bạn ermines mô hình mà bạn đang sử dụng cho địa chỉ email của bạn, sau đó mã cụ thể có thể được viết để thử và giải mã đó.

  2. Tôi không biết rằng tôi sẽ nói nó không chuyên nghiệp, nhưng nó ngăn chặn chức năng sao chép và dán, đó là một vấn đề lớn. Với hình ảnh, bạn chỉ đơn giản là không nhận được chức năng đó. Điều gì sẽ xảy ra nếu bạn muốn sao chép một địa chỉ email tương đối phức tạp vào sổ địa chỉ của bạn trong Outlook? Bạn phải nghỉ mát để gõ nó ra đó là dễ bị lỗi.

  3. Di chuyển trách nhiệm tới bộ lọc spam của người dùng thực sự là một phản hồi kém. Trong khi tôi tin rằng người dùng phải siêng năng trong việc bảo vệ chống spam, điều đó không tha thứ cho người xuất bản địa chỉ đó khỏi trách nhiệm.

Để kết thúc, cố gắng thực hiện điều này một cách an toàn tuyệt đối gần như không thể. Cách duy nhất để làm điều đó là có một bí mật được chia sẻ mà mã sử dụng để giải mã địa chỉ email được mã hóa. Vấn đề với điều này là bởi vì javascript được diễn giải ở phía máy khách, không có bất cứ điều gì mà bạn có thể giữ bí mật từ các mẩu tin lưu niệm.

Bộ mã hóa cho địa chỉ email hiện nay thường hoạt động vì hầu hết các trình thu thập thông tin bot email sẽ không tự lo ngại về việc mã hóa riêng cho từng trang web. Họ sẽ cố gắng và có một thuật toán tối thiểu mà sẽ nhận được kết quả tối đa (tiền thưởng không phải là giá trị nó nếu không). Bởi vì điều này, bộ mã hóa đơn giản sẽ đánh bại hầu hết các bot. Nhưng nếu ai đó REALLY muốn truy cập vào các email trên trang web của bạn, thì họ có thể và có thể dễ dàng, vì mã viết địa chỉ được cung cấp công khai.

Xem xét tất cả điều này, có nghĩa là Facebook đã đi tuyến đường hình ảnh. Bởi vì họ có thể thay đổi hình ảnh để làm cho OCR tất cả nhưng không thể, họ hầu như có thể đảm bảo rằng địa chỉ email sẽ không được thu hoạch. Cho rằng chúng có lẽ là một trong những kho lưu trữ địa chỉ email lớn nhất trên thế giới, có thể lập luận rằng chúng mang gánh nặng nặng nề hơn bất kỳ người nào trong chúng ta, và trong khi bất tiện, bị buộc xuống tuyến đó để đảm bảo an ninh và riêng tư cho cơ sở người dùng rộng lớn của họ .

+0

Điểm tuyệt vời. Trang web này không giống FB, vì vậy tôi không cần phải an toàn. Tôi đồng ý về OCR, họ có thể thay đổi img một chút mỗi lần mà sẽ làm cho OCR gần như không thể. Tôi có thể sẽ làm một giải pháp JS có sử dụng cả hai thực thể và một mật mã tự động duy nhất cho mỗi yêu cầu. – Rich

4

Khá một vài lý do Javascript là một giải pháp tốt cho bây giờ (có thể thay đổi khi bối cảnh phát triển).

  • Javascript obfuscation là một cái bẫy chuột tốt hơn bây giờ
  • Bạn chỉ cần chạy nhanh hơn những người khác. Miễn là có trái cây treo thấp, kẻ gửi thư rác sẽ đi cho những người. Vì vậy, trừ khi mọi người bắt đầu chuyển sang javascript, bây giờ bạn đã ổn định ít nhất
  • hầu hết những người gửi spam sử dụng các tập lệnh dựa trên http mà GET và phân tích bằng cách sử dụng regex. sử dụng công cụ javascript để phân tích cú pháp chắc chắn có thể nhưng sẽ làm chậm mọi thứ xuống

Về giải pháp facebook, tôi không coi nó là không chuyên nghiệp nhưng tôi có thể thấy rõ tại sao người thuần túy có thể không đồng ý.

  • Nó phá vỡ các tiêu chuẩn khả năng tiếp cận (không thể được phân tích bởi các trình duyệt, độc giả bằng giọng nói hoặc được bấm
  • . Nó phá vỡ cấu trúc ngữ nghĩa (đó là một hình ảnh, không phải là một liên kết mailto nữa)
  • Nó phá vỡ lớp presentational. Nếu bạn tăng kích thước trình duyệt phông chữ mặc định hoặc sử dụng độ tương phản cao tùy chỉnh CSS, nó sẽ không áp dụng đối với email.