CAPTCHA mới sử dụng câu?


8

Tôi chỉ nghĩ về việc recaptcha trở nên khó khăn hơn khi tôi nghĩ về một giải pháp rõ ràng khác. Hình ảnh sẽ không tồn tại mãi mãi vì vậy chúng ta sẽ cần một thứ khác vào một ngày nào đó - như logic hay cảm xúc của con người. Google và những người khác đang thử nhóm các hình ảnh theo danh mục (tìm hình ảnh không thuộc về) nhưng điều đó đòi hỏi một số lượng lớn hình ảnh và không hoạt động cho người mù.

Dù sao, điều gì sẽ xảy ra nếu một bộ sưu tập lớn văn bản (sách thuộc phạm vi công cộng từ mỗi ngôn ngữ) và một câu được hiển thị cho người dùng với 1 (hoặc 2) từ là một hộp lựa chọn? Chỉ những máy tính biết đúng ngữ pháp tiếng Anh / tiếng Tây Ban Nha / tiếng Đức mới có thể nói được những từ nào thuộc về câu.

Sẽ có bất kỳ vấn đề với phương pháp này? Tôi cho rằng nó sẽ đủ dễ dàng cho bất kỳ ai biết ngôn ngữ mà tình cảm được hiển thị để tìm ra câu trả lời dễ dàng hơn là cố gắng đọc văn bản reCAPTCHA. Thêm vào đó, việc lưu trữ một số lượng câu điên rồ sẽ chỉ mất vài gigabyte và sẽ không mất thời gian gần CPU để tạo ra hình ảnh / âm thanh. Nói cách khác, bất kỳ ai cũng có thể lưu trữ hệ thống captcha của riêng họ với tác động tối thiểu đến hiệu suất hệ thống.

Có một vấn đề với phương pháp này? Cụ thể hơn, tôi đang tìm kiếm vấn đề chính với phương pháp này.

di chuyển từ stackoverflow


4
Tôi đã cố gắng thực hiện một trong những bài nghe vào ngày khác khi tôi đang vật lộn với những hình ảnh trực quan. Âm thanh hoàn toàn không thể hiểu được. Tất cả nhận được một chút ngớ ngẩn, không phải là nó.
Armand

2
Hoặc bạn có thể thử quản lý bài kiểm tra Voight-Kampff dưới dạng captcha. Nó dường như hoạt động trên các bản sao ...
FrustratedWithFormsDesigner

4
Điều này nghe giống như một truyện tranh xkcd .... xkcd.com/810
Tyanna

1
Chà, trước tiên, không phải ai cũng có thể biết một ngôn ngữ một cách hoàn hảo và nhiều người dùng có thể không phải là người bản ngữ (ví dụ như tôi). Nhưng, quan trọng nhất, tôi sẽ không phụ thuộc quá nhiều vào giả định rằng tất cả con người đều được ban cho logic . Kinh nghiệm đã dạy tôi rằng trong một số trường hợp, logic của con người chỉ là một huyền thoại .. Vì vậy, rất có thể bạn sẽ kết thúc việc lọc ra con người và để bot qua ..
Lucius

2
Tôi không biết, nhưng tôi đã nghiêm túc xem xét việc mua phần mềm phá captcha chỉ để đăng nhập hợp pháp vào một số trang web. :)
davidhaskins

Câu trả lời:


7

Đầu tiên, tôi đưa cho bạn Watson của IBM . Tôi nghĩ rằng điện toán đã vượt xa sự lấp đầy đơn giản trong các vấn đề trống của ngôn ngữ.

Tiếp theo, tôi cung cấp cho bạn tất cả các trình kiểm tra Chính tả / Ngữ pháp được triển khai trong phần mềm. Xác định xem một từ có đúng ngữ pháp trong câu được giải quyết trong> 90% trường hợp. Tôi thậm chí sẽ thò cổ ra và nói rằng họ biết đọc biết viết tốt hơn hầu hết những người tôi biết.

Tôi không nghĩ rằng ý tưởng CAPTCHA của bạn sẽ hoạt động tốt như bạn mong đợi ...


Chính tả và ngữ pháp tuân theo các quy tắc, mà ngay cả khi tối nghĩa, làm việc. Mặt khác, nó chắc chắn cũng sẽ khuấy động nghiên cứu theo hướng đó ...
Matthieu M.

Giả sử tỷ lệ sử dụng chính xác cao của nhiều người kiểm tra chính tả và xác suất đoán những từ còn lại như Jeff đã đề cập, tôi tin rằng điều này sẽ làm giảm đáng kể hiệu quả của CAPTCHA. Tôi nghĩ rằng nó sẽ hoạt động tốt cho nhiều trang web nhỏ hơn - nhưng không phải là nơi mà những kẻ gửi thư rác sẽ bận tâm dành một chút thời gian để cố gắng phá vỡ. Máy tính đã nói ngôn ngữ tốt hơn con người - máy kiểm tra chính tả chứng minh điều đó.
Xeoncross

6

Hãy xem, sẽ mất bao lâu để luôn luôn chọn lựa chọn đầu tiên và cuối cùng là đúng?


3
Ha, trường hợp cơ bản cho phản ứng thái quá của riêng tôi. Nhưng, vâng, đây là lý do tại sao CAPTCHA nhiều lựa chọn là ngớ ngẩn.
Meredith L. Patterson

Chắc chắn là một vấn đề cần được giải quyết. Tuy nhiên, hiện tại, các trang web của tôi sử dụng giới hạn tốc độ IP và ghi nhật ký thất bại. Trừ khi người gửi thư rác có một mạng lưới không liên quan lớn (giống như một DoS phân tán) tôi sẽ bắt được anh ta.
Xeoncross

Bạn thậm chí sẽ không cho ai đó 3 cơ hội?
JeffO

3? Tôi đang suy nghĩ giống như 40 lượt truy cập trong 30 phút trước khi tôi cấm chúng.
Xeoncross

2
Giả sử câu trả lời sai cung cấp cho bạn hình phạt 10 phút và câu trả lời tốt làm giảm hình phạt trong 5 phút. Nếu hình phạt của bạn lớn hơn 0, bạn vào chế độ hình phạt. Chế độ phạt có nghĩa là ứng dụng yêu cầu bạn vượt qua captcha trước khi bạn đạt được bất kỳ chức năng nào. Một bot vũ phu sẽ đạt được một vài năm hình phạt trong thời gian ngắn, trong khi con người có thể (được hướng dẫn rõ ràng) phục hồi từ sai lầm ban đầu trong hai bước.
Jacek Prucia

4

Nếu bạn đang lấy câu từ sách trong phạm vi công cộng, bot sẽ không cần biết gì về ngữ pháp. Nó chỉ đơn giản là cần lập chỉ mục những câu tương tự và thực hiện tìm kiếm để tìm từ nào mà câu thực sự được sử dụng. Và điều đó giả định rằng bạn giải quyết vấn đề một cách hợp lý Jeff O đã đề xuất nơi bạn có thể phá vỡ vấn đề bằng cách đoán tùy chọn đầu tiên mỗi lần.

Thêm vào đó, nhiều câu trong vũ trụ của sách trong phạm vi công cộng sẽ không phù hợp với loại nỗ lực này. Nhiều người sẽ mơ hồ nếu không có bối cảnh. Nhiều người sẽ chứa nội dung phản cảm (hãy tưởng tượng trình bày một câu ngẫu nhiên từ Huckleberry Finn). Vì vậy, bạn phải đầu tư một lượng lớn công sức để có được một bộ câu không gây khó chịu và không mơ hồ. Nếu bạn chấp nhận rằng một số câu sẽ mơ hồ, bạn sẽ mất nhiều khả năng trừng phạt các bot vì đoán sai.


3

Một vấn đề khó khăn hơn đối với các bot sẽ là loại bỏ một từ trong câu, sau đó đưa ra lựa chọn giữa bốn từ khác nhau của cùng một phần của bài phát biểu. (Ví dụ: loại bỏ một danh từ; danh từ nào trong bốn danh từ này phù hợp nhất ở đây?)

Thuật toán gắn thẻ và phân tích cú pháp không hoàn hảo, nhưng các cách tiếp cận dựa trên kho văn bản đã đến mức bạn có thể huấn luyện trình phân tích cú pháp đủ tốt để giúp bạn đánh bại tỷ lệ cược trên CAPTCHA bằng phần mềm hàng hóa hoặc nguồn mở. (Khi bạn gửi thư rác với số lượng lớn, sẽ không sao nếu một số thư không vượt qua được, miễn là chúng đủ để tăng tỷ lệ thành công chung của bạn.)

Mặc dù vậy, máy tính không tốt bằng ngữ nghĩa.


Vâng, tôi đã suy nghĩ về từ này là một phần nhất định của lời nói với sự thay thế PoS phù hợp vì tôi đã làm việc trong phân tích cú pháp văn bản tự động và có thể thấy một máy tính đánh bại hệ thống này nếu sự lựa chọn từ chính xác là rõ ràng. Sau đó, một lần nữa, càng ít rõ ràng - càng khó cho những người không nói [ngôn ngữ] trả lời.
Xeoncross

Của couse, có những lúc mọi người không tuyệt vời với ngữ nghĩa ...
Thất vọngWithFormsDesigner

3

Hầu hết các thư rác tôi nhận được trong những ngày này thực sự không phải do bot tạo ra. Tôi nhận được rất nhiều thư rác đến từ các quốc gia thuộc thế giới thứ ba nơi mọi người được thuê vài xu một giờ để đăng tin nhắn trên các diễn đàn và blog, v.v.

Không có hệ thống nào phân biệt giữa con người và máy tính sẽ ngăn chặn điều này.

Vì lý do đó, tôi đã hoàn toàn loại bỏ CAPTCHA trên các trang web của mình. Thay vào đó, tôi có một giải pháp dựa trên javascript khá đơn giản (về cơ bản, Javascript chạy trên máy khách sắp xếp lại các trường để nếu bạn đăng bài với Javascript bị tắt, nó sẽ thất bại). Điều này ngăn chặn 95% thư rác bot, nhưng rõ ràng không có tác dụng đối với thư rác của con người - nhưng sau đó, CAPTCHA cũng không.


Tôi bắt đầu thấy ngày càng nhiều trang web chỉ cần một hộp kiểm có id ngẫu nhiên được nhấp vào khác, một bài đăng không được thêm vào hoặc một văn bản được in ở đâu đó trên trang để được nhập vào trường nhập có tên ngẫu nhiên. Hoạt động tốt hơn nhiều so với captcha và thân thiện hơn.
jwenting

2

Chỉ những máy tính biết đúng ngữ pháp tiếng Anh / tiếng Tây Ban Nha / tiếng Đức mới có thể nói được những từ nào thuộc về câu.

Câu trả lời có thể trở nên chủ quan (nó không thực tế chủ quan nhưng thiếu khái niệm ngôn ngữ trải dài trên tất cả các xã hội) và khó khăn cho những người không nói ngôn ngữ nguyên bản.

Nếu có một danh sách hữu hạn các quy tắc ngữ pháp (mà mọi ngôn ngữ đều có) được trình bày thì nó đơn giản trở thành một thuật toán; có thể tiếp cận ngay bây giờ bởi bất kỳ máy nào sẵn sàng thực hiện thuật toán.


Còn những người không hiểu hoàn toàn ngôn ngữ của câu đó thì sao? Họ sẽ không thể vượt qua captcha?
Thất vọngWithFormsDesigner

1
Điểm hay, nhưng đó là câu trả lời giống như Điều gì về những người không hiểu đầy đủ văn bản trong hình ảnh reCAPTCHA?
Xeoncross

2
@Xeoncross Có một sự khác biệt. Văn bản trong CAPTCHA điển hình được tóm tắt. Không phải là người dùng không biết rằng A == A; đó là bài thuyết trình Vấn đề tồn tại trong thực tế là sự trừu tượng không may loại bỏ tính dễ đọc với hy vọng tạo ra một khoảng cách giữa những gì con người so với một cỗ máy có thể hiểu được. Nó là cơ bản trong tự nhiên. Một A sẽ luôn bằng A. Khi bạn đưa ngữ pháp vào hỗn hợp, bạn thay đổi cách tiếp cận. Bây giờ bạn đang giả sử mỗi và mọi cá nhân đều ở một mức độ hiểu biết nhất định liên quan đến ngôn ngữ được sử dụng.
Aaron McIver

1
Tôi phải thừa nhận rằng tôi đã rất hào hứng với các phân tích của bạn. Nó không chỉ ngăn chặn các bot spam - mà bạn còn phải biết đọc biết viết để nhận xét! Thế thì tuyệt quá! ; P
Xeoncross

1
@Frustrated: Một số người trong chúng ta sẽ coi đó là một tính năng, không phải là một lỗi. ;)
Mason Wheeler

2
  1. Tất cả captcha đều dễ bị nuôi captcha.
  2. Nhiều lựa chọn là quá dễ dàng để giải quyết bằng cách thử ngẫu nhiên. (Như được chỉ ra bởi những người khác.)

Nhưng bỏ qua những vấn đề nghiêm trọng này, có vấn đề về ngôn ngữ.

Các ngôn ngữ kết hợp như tiếng Hungary hoặc tiếng Phần Lan dễ dàng cho vay loại này, bởi vì các từ có thể có nhiều hậu tố và mỗi ngôn ngữ phục vụ một mục đích khác nhau trong câu (ví dụ: cùng một danh từ có hậu tố khác nhau khi được sử dụng làm đối tượng hoặc chủ đề) Tuy nhiên quy tắc chỉ phức tạp đối với con người, một cỗ máy sẽ tìm ra cái đúng trong một vài lần thử.

Các ngôn ngữ cô lập (tiếng Anh là một ví dụ gần đúng, tiếng Trung phổ thông hơn nhiều) thậm chí còn tệ hơn, vì ngữ pháp chủ yếu được quyết định bởi vị trí trong câu chứ không phải dạng từ.

Các ngôn ngữ kết hợp như tiếng Nga hoặc tiếng Hy Lạp có thể đặt ra một loạt vấn đề khác, v.v.

Tóm lại, những câu đố ngôn ngữ dịch tốt và khó đoán ngẫu nhiên rất khó tìm. Có lẽ việc tập trung vào ngữ nghĩa dễ dàng hơn nhiều so với cú pháp. Ví dụ: "Tiếp tục trình tự sau: Thứ năm, Thứ tư, Thứ ba ..." hoặc "nướng, chiên, nướng ...", v.v.


1

Ý tưởng thông thường đằng sau một hình ảnh xác thực là nó sẽ dừng các bot gần như mọi lúc. Nhiều lựa chọn giữa N câu trả lời chỉ dừng bot (N - 1) / N và do đó bot sẽ vượt qua trong trung bình N lần thử.

Bạn có thể thực hiện hết thời gian cho các câu trả lời captcha sai, nhưng bạn không thể quá nghiêm khắc về vấn đề này mà không gây phiền hà nghiêm trọng cho những người không nói tiếng Anh tốt (hoặc bất cứ điều gì) hoặc gặp vấn đề với các hộp chọn (tay run, chuột xấu, khác tật nguyền). Hơn nữa, thời gian chờ sẽ không dừng botnet, vì những dự đoán có thể đến từ các IP khác nhau.

Hơn nữa, làm thế nào để bạn chắc chắn rằng chỉ có một câu trả lời hợp pháp? Một câu được chọn ngẫu nhiên từ Project Gutenberg có thể có ý nghĩa với một số danh từ được chọn ngẫu nhiên, nhưng chỉ có một câu là câu trả lời đúng.


0

Tất cả những gì bạn đang làm là khiến con người khó sử dụng trang web của bạn hơn, trong khi đối với các bot bạn không thêm bất kỳ trở ngại nào cả.

Điều bạn nên tập trung vào là tạo ra một cơ chế tự động phát hiện xem có thứ gì đó được đăng là spam hay không và chặn bài đăng đó (ví dụ như nói đến kiểm duyệt của con người và gửi thông điệp đến mức đó).

CAPTCHA đã đến mức khiến chúng khó chịu đến mức tôi có xu hướng tránh các trang web sử dụng chúng nhiều hơn và nhiều trang web với tôi. Điều này đặc biệt là khi chúng được biết đến rộng rãi không có ảnh hưởng gì đến spam bots.

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.