Cách tạo CAPTCHA bằng Python

Được giới thiệu vào đầu những năm 2000, CAPTCHA đã gây khó chịu cho người dùng trong nhiều thập kỷ nay. Từ việc tìm kiếm hình ảnh của một chiếc xe buýt đến nhập một dãy chữ cái kỳ lạ hoặc giải các bài toán, có nhiều cách mà các trang web yêu cầu bạn chứng minh bạn không phải là rô bốt.


Nhưng bạn đã bao giờ tự hỏi CAPTCHA hoạt động như thế nào và tại sao các trang web buộc bạn phải giải quyết chúng?


CAPTCHA là gì?

CAPTCHA là viết tắt của bài kiểm tra Turing công cộng hoàn toàn tự động để nói với Máy tính và Con người. Như tên cho thấy, nó phân biệt giữa con người và máy tính.

Khái niệm cơ bản của CAPTCHA dựa trên sự thiếu thông minh của máy tính để nhận dạng các mẫu. Máy tính có thể nhận dạng các chữ cái nhưng không phải trong trường hợp chúng bị thay đổi hoặc có nhiều tiếng ồn xung quanh. Trong khi đó, con người luôn cố gắng trong nhiều thế hệ để phát hiện và xác định các mẫu như một cơ chế an toàn.

Các loại CAPTCHA

CAPTCHA có nhiều loại khác nhau, một vài trong số chúng là:

1. Hình ảnh dựa trên văn bản CAPTCHA

CAPTCHA dựa trên văn bản sử dụng một tập hợp các từ hoặc cụm từ hoặc sự kết hợp ngẫu nhiên của các chữ cái, số và ký hiệu khác nhau. Nó đại diện cho một chuỗi các ký tự ở dạng xa lạ hơi khó giải thích.

Chúng bao gồm biến dạng, xoay, lật, lung lay, kiểu viết hoa và chồng chéo với các ký tự liền kề. Để nâng cao kỹ thuật này, CAPTCHA có thể bao gồm đồ họa như đường thẳng, cung tròn hoặc dấu chấm theo kiểu ngẫu nhiên, trải rộng khắp hình ảnh.

2. Âm thanh CAPTCHA

Audio CAPTCHA phục vụ như một sự thay thế cho CAPTCHA dựa trên văn bản và phục vụ cho người dùng khiếm thị. Audio CAPTCHA trình bày bản ghi âm của một chuỗi các chữ cái hoặc số mà người dùng phải nhập chính xác. Một lần nữa, lại có hiện tượng méo tiếng, lần này ở dạng thêm tiếng ồn xung quanh. Một điều thú vị cần lưu ý là mô-đun Python CAPTCHA chỉ hoạt động với các con số.

3. Hình ảnh CAPTCHA

CAPTCHA hình ảnh là một giải pháp thay thế cho CAPTCHA hình ảnh dựa trên văn bản. Đây là những CAPTCHA điển hình mà bạn sẽ giải quyết hàng ngày.

Các CAPTCHA này yêu cầu bạn xác định một đối tượng cụ thể như thuyền, xe tải hoặc vòi chữa cháy. Họ trình bày những thứ này cùng với những hình ảnh khác để chọn. Đây là những bài kiểm tra thân thiện với con người hơn nhiều so với các bài kiểm tra dựa trên văn bản cũng như khó nhận ra hơn đối với các bot.

4. Toán, Bài toán Word và Câu đố CAPTCHA

CAPTCHA toán học thường đại diện cho một bài toán số học đơn giản như 17 + 23, 16 * 10 hoặc 30/10 với các yếu tố đồ họa được thêm vào.

Word Problem CAPTCHA trình bày một chuỗi các từ hoặc các mục liên quan và yêu cầu bạn điền vào chỗ trống với câu trả lời thích hợp.

Câu đố CAPTCHA liên quan đến việc giải một trò chơi ghép hình nhỏ chẳng hạn như trượt một thanh đến độ dài chính xác để mảnh còn thiếu hoàn thành hình ảnh.

5. Không có CAPTCHA ReCAPTCHA

Google sở hữu ReCAPTCHA sử dụng phân tích rủi ro nâng cao và các thách thức thích ứng để ngăn chặn bot. ReCAPTCHA truy xuất nội dung từ Chế độ xem phố của Google, báo, sách, v.v.

Không có CAPTCHA ReCAPTCHA nào yêu cầu bạn chọn tùy chọn “Tôi không phải là rô-bốt” mà không yêu cầu bạn thực hiện bất kỳ bài kiểm tra nào. Điều này có thể thực hiện được vì nó theo dõi các chuyển động và xác định lần nhấp. Một điều cần lưu ý là ReCAPTCHA cũng nắm bắt thông tin cá nhân của bạn.

Bạn có thể tạo biểu mẫu xác thực CAPTCHA bằng HTML, CSS và JS cũng như sử dụng mô-đun CAPTCHA Python.

Mô-đun CAPTCHA Python

Python đi kèm với một mô-đun tuyệt vời được gọi là CAPTCHA giúp bạn tạo CAPTCHA hình ảnh và âm thanh dựa trên văn bản trong giây lát. Mặc dù mô-đun cung cấp kiểu phông chữ và giọng nói có sẵn, bạn có thể sử dụng dữ liệu giọng nói và phông chữ của mình để tùy chỉnh CAPTCHA hơn nữa.

Để cài đặt mô-đun CAPTCHA trong môi trường Python của bạn, hãy mở cửa sổ Terminal và nhập:

pip install captcha

Cách tạo CAPTCHA hình ảnh dựa trên văn bản bằng Python

Toàn bộ mã nguồn để tạo CAPTCHA hình ảnh và âm thanh dựa trên văn bản tùy chỉnh có sẵn trong kho lưu trữ GitHub này.

Bạn có thể làm theo các bước sau để tạo CAPTCHA hình ảnh dựa trên văn bản bằng Python:

  1. Nhập ImageCaptcha mô-đun nằm trong Hình ảnh CAPTCHA.

    from captcha.image import ImageCaptcha
  2. Chỉ định chiều rộng và chiều cao tùy chỉnh cho CAPTCHA của bạn và tạo một phiên bản của nó.

    image = ImageCaptcha(width = 300, height = 100)
  3. Lấy một chuỗi ký tự làm đầu vào của người dùng bằng cách sử dụng đầu vào() chức năng chuyển đổi nó thành định dạng CAPTCHA dựa trên văn bản.

    captcha_text = input("Please enter text: ")
  4. Chuyển văn bản bạn nhận được từ người dùng đến image.generate () để tạo CAPTCHA.

    data = image.generate(captcha_text)
  5. Chuyển văn bản của CAPTCHA và tên tệp hình ảnh cùng với phần mở rộng của nó tới image.write () để lưu CAPTCHA hình ảnh đã tạo.

    image.write(captcha_text, (captcha_text) + ".png")

Đầu ra của CAPTCHA Hình ảnh Dựa trên Văn bản Sử dụng Python

Một trong những tính năng tốt nhất của mô-đun này là nó tạo ra cùng một văn bản với các màu sắc, kiểu dáng và độ lệch khác nhau. Đây là một vài ví dụ được tạo ra.

Đây là một thiết kế hấp dẫn khác được tạo ra thông qua cùng một chương trình.

Cách tạo CAPTCHA âm thanh bằng Python

Làm theo các bước sau để tạo CAPTCHA âm thanh bằng Python:

  1. Nhập AudioCaptcha mô-đun từ captcha.audio.

    from captcha.audio import AudioCaptcha
  2. Tạo một phiên bản của AudioCaptcha ().

    audio = AudioCaptcha()
  3. Lấy các chữ số làm đầu vào của người dùng bằng cách sử dụng đầu vào() chức năng tạo CAPTCHA âm thanh của nó.

    captcha_text = input("Please enter number: ")
  4. Chuyển văn bản bạn nhận được từ người dùng tới audio.generate () để tạo CAPTCHA.

    audio_data = audio.generate(captcha_text)
  5. Chuyển văn bản của CAPTCHA và tên tệp âm thanh cùng với phần mở rộng của nó tới audio.write () để lưu CAPTCHA âm thanh đã tạo.

    audio.write(captcha_text, "audio"+captcha_text+'.wav')

Nếu bạn nhập số 970322chương trình CAPTCHA âm thanh này sẽ tạo ra tệp audio970322.wav nói các chữ số theo thứ tự kèm theo một loạt tiếng ồn xung quanh.

Nhiều công dụng của CAPTCHA

Chức năng chính của CAPTCHA là ngăn chặn spam và lạm dụng bởi bot trên một trang web. Chúng giúp duy trì độ chính xác của các cuộc thăm dò trực tuyến bằng cách ngăn không cho bot làm ngập chúng bằng các phản hồi tiêu cực. Chúng hoạt động như một lớp bảo vệ chống lại các cuộc tấn công vũ phu và hạn chế số lần người dùng cố gắng đăng nhập vào một trang web.

CAPTCHA cũng có thể giúp ngăn chặn các nhận xét tự động và có thể giúp bảo mật các cổng thanh toán với những khó khăn cần giải quyết của chúng.

Previous Post
Next Post

post written by: