2008-10-13 62 views
6

Có rất nhiều ý tưởng CAPTCHA không dựa trên hình ảnh nổi xung quanh. Nhưng những gì về cách cũ?Khó hơn, tốt hơn, nhanh hơn, mạnh hơn ... Kỹ thuật cho CAPTCHA dựa trên hình ảnh?

Các yếu tố của CAPTCHA hình ảnh tốt là gì? Yếu tố thị giác nào khó cho máy tính, nhưng dễ dàng hơn cho con người? Điều gì về những sai lầm, các yếu tố dễ dàng hơn cho máy tính hơn là cho con người? Kỹ thuật tốt để tăng tốc độ tốc độ của trình tạo CAPTCHA là gì?

Đây là một ví dụ về CAPCHA mà tôi đang nghiên cứu. Nó tạo ra các chức năng cho hai sóng sin, sau đó kéo dài một văn bản giữa chúng. Nó đặt trên nền được vẽ từ một nhóm ảnh. Image-based CAPTCHA

Làm cách nào để cải thiện điều này? (Cụ thể, tôi đang sử dụng PHP GD.) Những điều cần lưu ý là:

  • Thay đổi màu của văn bản, có thể làm cho màu nhiều màu.
  • Thêm "vết trầy xước" hoặc các dấu hiệu làm mờ văn bản một cách nhẹ nhàng.
  • Thêm vào sự biến dạng để nó bị ảnh hưởng bởi sóng sin theo chiều ngang.

Điều gì sẽ xảy ra với hình ảnh CAPTCHA tuyệt vời?


Edit: Tôi biết rằng có một số tài nguyên CAPTCHA của bên thứ ba rất xứng đáng. Tôi đang tìm các thuộc tính mà làm cho chúng trở nên tốt. Tôi muốn sử dụng CAPTCHA của riêng mình, chỉ nhằm mục đích tự cải thiện. Vì vậy, bạn có thể nói về reCAPTCHA, nhưng nó không chính xác những gì tôi đang tìm kiếm.

Ngoài ra, nó đã được đưa ra không chỉ hình ảnh, mà còn là các vấn đề , vì vậy vui lòng bình luận về điều đó.

Trả lời

3

Làm cho chữ cái khó phân tách. Sử dụng phông chữ giống chữ viết tay hoặc thêm các dòng liên kết chữ cái. Giảm và phân ngẫu nhiên khoảng cách giữa các chữ cái.

Thêm méo sóng ở trục khác quá. Biến dạng trong một trục chỉ có thể được phân tích và đảo ngược một cách tương đối dễ dàng.

Đừng bận tâm với nền màu ở tất cả. Thật dễ dàng để tự động lọc đen từ các màu khác. Nền của bạn chỉ cản trở con người.

Không thêm vết trầy xước hoặc tạp âm khác trừ khi có cùng độ dày như chữ cái. Thuật toán loại bỏ tiếng ồn có thể dễ dàng loại bỏ những thứ mỏng hơn chữ cái.

5

Đặt từng chữ cái/số ra khỏi mẫu, I.E. chấm không liên kết. Có nghĩa là máy tính không có cách nào để biết rằng một dấu chấm là một phần của một chữ cái khác với nhận dạng mẫu (mà chúng chưa có.) Sau đó, các biến dạng thông thường và các dòng ngẫu nhiên.

Cách bạn làm điều này là thách thức.

EDIT: Ngoài ra, điểm thưởng cho các mẫu có hình dạng khác nhau và thử tính trong suốt trên các ký tự (trên các cạnh hoặc toàn bộ ký tự), để chúng hợp nhất với nền.

+0

Đây chỉ là loại ý tưởng tôi đang tìm kiếm. – stalepretzel

0

Tôi thực sự ghét CAPTCHA trên các trang web, họ chỉ làm phiền tôi, nhưng nếu bạn muốn thử và làm cho một mạnh mẽ thử như sau:

  • Khả năng để có được một hình ảnh mới mà không nộp
  • phiên bản được nói cho người khiếm thị
  • ký tự không thống nhất

tôi đã sử dụng xác thực lại trên một vài trang web, đó là một giải pháp tốt đẹp và mạnh mẽ.

Hoặc nếu bạn muốn được thực sự sôi nổi về nó kiểm tra này: http://research.microsoft.com/asirra/

0

thuật toán mà cố gắng để phá vỡ hình ảnh xác thực là mẫu quẹt rằng công việc của một vài cách khác nhau: mở rộng quy mô và làm lệch những biểu tượng mà họ đã biết về , tìm và theo dõi các cạnh, và đếm các lỗ bên trong để giúp đỡ. Nếu bạn có thể phá vỡ bức thư thành từng mảnh, thay đổi chất lượng thư, hoặc thêm các dòng mạnh hoặc "vết trầy xước" dọc theo các chữ cái các kỹ thuật này sẽ giúp bạn. Tuy nhiên tất cả điều này là khá tranh luận xem xét chúng tôi có recaptcha cho mục đích này và nó là một ứng dụng bên thứ ba tuyệt vời cho việc này. Ngoài ra, hình ảnh xác thực sẽ giúp bảo mật trang web của bạn, nhưng sẽ không ngăn những người thực sự bị lôi cuốn.

0

Hãy cảnh giác với các đề xuất của ReCaptcha. Tôi đã gửi đầu vào không chính xác vào nó một vài chục lần, và đã thành công mỗi lần. Một số trong những lần tôi đã gửi đầu vào không chính xác cho cả hai từ thay vì chỉ là từ bị che khuất nhất; tỷ lệ thành công, như tôi đã nói, đã là 100%.

Tôi cũng nghĩ rằng hình ảnh dựa trên CAPTCHA là thù địch của người dùng và nên tránh bất cứ khi nào có thể. Ưu điểm của giải pháp dựa trên văn bản là bạn có thể điều chỉnh chúng cho đối tượng của trang web của bạn, thêm mức độ tối nghĩa có thể tăng số lượng máy khi chúng trở nên hiểu biết hơn với các giải pháp dựa trên văn bản.

Ít nhất, không sử dụng tất cả thời gian: orange http://www.codinghorror.com/blog/images/word.png

+0

Tôi sẽ quay cho "xanh". Hoặc, có lẽ, "chanh"? – stalepretzel

+0

Tôi sẽ nói điều này là do việc triển khai kém, thường xuyên nhất với việc xác thực lại điều này xảy ra vì 'lập trình viên' quên kiểm tra từ hợp pháp, anh/cô ấy nghĩ rằng recaptcha sẽ làm điều đó cho họ, và thực sự là không. – UnkwnTech

1

gì nếu màu sắc của chữ nhạt dần thành màu khác ... ví dụ 5 có thể bắt đầu như màu vàng trên đầu và mờ dần thành màu xanh hay gì đó. Các màu được chọn nên ngẫu nhiên.

Với nền nhiều màu, nó có thể làm cho máy tính khó đón nơi nền kết thúc và ký tự bắt đầu .. và hy vọng nó sẽ không quá khó để con người thực sự nhận được mẫu.

0

Tôi thích ý tưởng của KittenAuth và dự án Asirra của Microsoft. Ý tưởng là, trong khi OCR cuối cùng sẽ phát triển để phá vỡ captcha truyền thống của bạn, khả năng phân biệt một con mèo con từ một con chó là nhiều đơn đặt hàng của cường độ phức tạp hơn một vấn đề, trong khi hoàn toàn tầm thường đối với con người.

Giải pháp này, mặc dù có lẽ là ý tưởng xác thực quyến rũ nhất từng có, có giới hạn không dễ dàng di chuyển đến các phương pháp khiếm thính.

+0

"Xác định tất cả các con mèo: * Meow * Meow * Woof * Meow * Woof * Woof * Meow * Meow *" OK, bạn nói đúng về âm thanh ... – stalepretzel

+0

Nó cũng bị hạn chế bởi một bộ ảnh - kẻ gửi thư rác có thể chỉ cần chu kỳ thông qua 100 hoặc hơn hình ảnh, catageorise chúng bằng tay và sau đó chỉ cần id hình ảnh, tôi nghi ngờ các thiết lập đã có sẵn catagorised trên mạng. –

0

Điều gì về việc cắt xén và xáo trộn băng hình thành màn hình hiển thị xoài và chỉ nhập chuột?

Bắt đầu bằng cách lấy văn bản biến dạng sóng sin của bạn, chia thành các băng ngang hoặc thậm chí là lưới.

Điều đó làm cho việc nhận dạng quang học khó hơn và có thể cho phép bạn tránh các loại trò chơi nền khó chịu làm cho một số captchas khó khăn đối với con người.

Đối với trang web nơi bạn có thể dựa vào kéo địa phương trong trình duyệt, thay vì nhập vào mục nhập, hãy sử dụng lệnh xáo trộn yêu cầu người dùng sắp xếp lại thứ tự (chỉ theo thứ tự cẩu thả, không giống như một trong các câu đố đó). Hoặc, nếu bạn chỉ muốn sử dụng nhấp chuột, câu đố cổ điển sliding tile.

Lưu ý, tôi đã chạy vào hình ảnh xác thực nơi bạn phải xác định phim hoạt hình nào của N có động vật trong đó đã chặn tôi thành công!

Wellington Grey tổng kết cuộc đua AI CAPTCHA một cách độc đáo.

0

Bạn có thể thêm một mảng phông chữ ngẫu nhiên để GD hiển thị từng ký tự bằng cách sử dụng một phông chữ khác.

1

Thay vì tạo hình ảnh xác thực, bạn có thể tạo bảng hình ảnh xác thực trong cơ sở dữ liệu của mình và bạn tự tạo bảng bằng cách tìm kiếm trên google để có hình ảnh xác thực tốt.

Vì vậy, không cần phải lo lắng "Phương pháp tạo thế hệ này có hoạt động không?"

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