2010-07-12 30 views
5

Tôi đang chạy ColdFusion MX, vì vậy tôi không có khả năng sử dụng được xây dựng trong cfimage Captcha functionality trong ứng dụng của tôi, trước khi gửi biểu mẫu.Làm cách nào để ngăn chặn các biểu mẫu tự động gửi bởi bot?

Nhưng vấn đề là không có hình ảnh xác thực, bot sẽ gửi biểu mẫu.

Cách tốt nhất để ngăn gửi tự động là gì?

+0

Tại sao bạn không thể sử dụng hình ảnh xác thực? Bạn đang sử dụng ngôn ngữ lập trình nào? –

+0

Tôi đang sử dụng Coldfusion MX, chưa được hỗ trợ cho Captcha. – user160820

+2

từ Coldfusion 8, nó có hỗ trợ Captcha. – user160820

Trả lời

6

Hãy xem cfformprotect - nó sẽ hoạt động với CFMX 6 và tất cả các công cụ sau này.

Nó nhằm mục đích có thể truy cập hoàn toàn - và ẩn đối với hầu hết người dùng - với một loạt các phương pháp để ngăn chặn bot và người gửi spam.

Ngoài ra bạn có thể muốn xem xét một CF wrapper for reCaptcha, đó là tương thích với CFMX 7.

4

Kỹ thuật tôi đã sử dụng với công nghệ khác là sử dụng các nút hình ảnh. Trình xử lý POST của bạn nhận tọa độ x, y nơi các hình ảnh được nhấp vào. Tôi tìm thấy các chương trình (mà chỉ tạo ra các yêu cầu bài viết) đã được đi qua 0,0 và bằng cách thả những yêu cầu trên sàn nhà tôi đã đưa các bài viết thư rác xuống ít hơn những người thực sự. Xin lỗi vì tôi không biết làm thế nào để làm điều đó trong CF nhưng tôi hy vọng kỹ thuật này rất hữu ích cho bạn.

9

Captchas không phải là hình ảnh!

Hãy thử một trong các giải pháp sau:

  • Hầu hết các chương trình không hiểu CSS. Tạo hai nút gửi, lần đầu tiên với giá trị sẽ bị máy chủ từ chối, giá trị thứ hai có giá trị sẽ được máy chủ chấp nhận. Ẩn phần đầu tiên bằng CSS.
  • Yêu cầu người dùng trả lời một vấn đề toán học đơn giản. Điều này sẽ yêu cầu bạn tạo ra vấn đề toán học và lưu trữ giải pháp mong đợi ở đâu đó (như phiên của người dùng), sau đó so sánh câu trả lời được gửi của người dùng với câu trả lời được lưu trữ. Để bảo vệ thêm, bạn có thể tạo các câu hỏi cộng, trừ và nhân đơn giản. Tránh phân chia, phần còn lại là một nỗi đau cho một số người dùng.
  • Bots đọc tên của các phần tử biểu mẫu và có xu hướng bỏ qua nhãn văn bản. Thử tạo một hộp kiểm có tên "optout" (như bản tin), được chọn theo mặc định. Bên cạnh hộp kiểm, yêu cầu người dùng bỏ chọn hộp kiểm nếu họ là con người. Kỹ thuật ngược lại cũng hoạt động (bỏ chọn hộp kiểm mà bạn yêu cầu người dùng kiểm tra).

Tất cả các giải pháp này có thể được thực hiện mà không cần mã bên thứ ba hoặc cuộc gọi API.

Điều đó đang được nói, reCAPTCHA khá tốt và dễ tích hợp vào hầu hết bất kỳ môi trường nào.

+0

Mặc dù không có biện pháp, tôi thích giải pháp CSS bạn đã cung cấp. – Seidr

+0

Hai nút gửi có thể kết thúc khi có người dùng gửi biểu mẫu bằng cách nhấn phím Enter/Return sẽ được tải xuống vì trình duyệt có thể sử dụng giá trị gửi đầu tiên (ẩn). Tương tự, một trường biểu mẫu CSS-ẩn, ví dụ, URL, sẽ được điền vào bởi các bot, nhưng nó cũng có thể được điền vào bằng biểu mẫu tự động hoàn thành. – amcgregor

0

Cách sử dụng phương pháp tính toán? Giống như 8 + 5 =?

HOẶC

cách sử dụng ColdFusion.Ajax.submitForm?

Các vấn đề liên quan