Hướng dẫn sử dụng BotDetect CAPTCHA để bảo vệ trang ASP
Trang web này sẽ hướng dẫn bạn các bước cần thiết để bảo vệ trang ASP của bạn bằng Lanapsoft BotDetect ASP CAPTCHA.
- LanapBotDetectHandler.asp
- Sinh hình ảnh CAPTCHA
- Sử dụng audio CAPTCHA
- Tải lại hình ảnh CAPTCHA
- Xác thực câu trả lời của người dùng
- Mã nguồn ví dụ ASP CAPTCHA
LanapBotDetectHandler.asp
Gói cài đặt của Lanapsoft BotDetect ASP CAPTCHA bao gồm LanapBotDetectHandler.asp, một file ASP mà bạn có thể sử dụng trong ứng dụng ASP của bạn.
File này sử dụng BotDetect CAPTCHA COM control để tạo hình ảnh CAPTCHA một cách ngẫu nhiên, rồi sau đó được hiển thị trên trang ASP. Bạn có thể sử dụng "y nguyên" file này; mà không cần phải chỉnh sửa – chỉ cần copy vào thư mục chứa mã nguồn ASP của bạn.
Luôn luôn sử dụng phương thức POST!
Đoạn mã ASP dùng để gọi LanapBotDetectHandler.asp phải nằm trong thẻ <form> sử dụng phương thức POST.
Tạo hình ảnh CAPTCHA
Cách dễ nhất để tạo hình ảnh CAPTCHA là sử dụng thẻ <img> như sau đây trong mã HTML trên trang ASP của bạn:
<img src="LanapBotDetectHandler.asp?Command=CreateImage" alt="CAPTCHA image" id="CaptchaImage" />
Nếu bạn đã cài đặt BotDetect và bạn đã copy LanapBotDetectHandler.asp vào cùng thư mục với mã ASP, hình ảnh tương tự sẽ hiện ra trên trang web của bạn:
Thay đổi các thuộc tính của hình ảnh CAPTCHA
Nếu bạn muốn thay đổi các thuộc tính khác (như kích thước hình, kiểu hình...) chỉ cần chỉ định nó thông qua các tham số của câu lệnh query. Ví dụ:
<img src="LanapBotDetectHandler.asp?Command=CreateImage& TextStyle=28&ImageWidth=300&imageHeight=40&CodeLength=7& CodeType=1&Format=PNG" alt="CAPTCHA image" id="CaptchaImage" />
Hình ảnh được tạo ra sẽ giống như hình sau:
Tất cả các tham số khác (ngoại trừ ?Command=CreateImage) là tùy chọn, nếu một thông số không được xác định, giá trị mặc định sẽ được dùng.
Ví dụ, tham số TextStyle sẽ xác định giải thuật để sinh hình ảnh CAPTCHA (trong số 50 giải thuật của BotDetect CAPTCHA). Bạn có thể tìm thấy các giá trị hợp lệ, ví dụ cách sử dụng và hình mẫu tại Tham khảo TextStyle.
Bạn cũng có thể tìm thấy thông tin chi tiết về tất cả các tham số của CAPTCHA tại BotDetect Component Interface.
Sử dụng audio CAPTCHA
Nếu bạn muốn sử dụng âm thanh CAPTCHA để tăng khả năng truy cập trên trang web của bạn, cách dễ dàng nhất để dùng nó như sau:
<a href="LanapBotDetectHandler.asp?Command=CreateSound"> <img src="speaker.gif" alt="Play Sound" style="border:0;" /> </a>
Một biểu tượng cái loa (nằm trong ví dụ đi cùng với gói cài đặt) được dùng như là đường dẫn để phát ra âm thanh CAPTCHA. Bạn cũng có thể dùng đường dẫn bằng chữ (ví dụ: "Play Sound") hoặc biểu tượng khác phù hợp với ứng dụng của bạn.
Sử dụng JavaScript để phát âm thanh CAPTCHA
Ví dụ trên đơn giản, nhưng chưa được hoàn hảo - nó mở âm thanh CAPTCHA trực tiếp, và yêu cầu người dùng tải về.
Người dùng sẽ dễ chịu hơn nếu nó có thể phát ra âm thanh CAPTCHA một cách tự động (như là nhạc nền của trang hiện tại), nếu trình duyệt của người sử dụng hỗ trợ điều đó. Bạn có thể làm được điều đó với đoạn mã sau đây:
<a href="LanapBotDetectHandler.asp?Command=CreateSound"
onclick="LBD_LoadSound('soundPlaceholder',
'LanapBotDetectHandler.asp?Command=CreateSound');
return false;">
<img src="speaker.gif" alt="Play sound" style="border:0;" />
</a>
<div id="soundPlaceholder" style="visibility:hidden; border:0;
width:0; height:0;"></div>
Đoạn mã này sử dụng file BotDetectScript.js để tự động thêm đối tượng âm thanh CAPTCHA vào trang web, và phát âm thanh bằng một chương trình chơi nhạc được cấu hình sẵn trên trình duyệt của người sử dụng (file .wav thông thường được phát bởi Windows Media Player trên IE, hay QuickTime trên Firefox, Opera và Safari).
File BotDetectScript.js nằm trong thư mục samples của gói cài đặt BotDetect ASP CAPTCHA, bạn có thể copy nó vào thư mục dự án giống như đã làm với file LanapBotDetectHandler.asp. Bạn có thể tìm hiểu cơ chế hoạt động của nó bằng cách đọc mã nguồn.
Hiển thị lại hình ảnh CAPTCHA
Nếu bạn muốn thêm nút 'Hiển thị lại' để cho phép người dùng thay đổi hình ảnh CAPTCHA, mã JavaScript cũng đã được viết trong file BotDetectScript.js. Hàm LBD_ReloadImage dùng client ID của phần tử CAPTCHA <img>:
<a href="#" onclick='LBD_ReloadImage("CaptchaImage"); return false;'
title="Change the code">
<img src="reload.gif" alt="Thay đổi mã" />
</a>
Xác thực câu trả lời của người dùng
Cách sử dụng CAPTCHA điển hình là, bạn đặt một textbox trên trang web để nhận câu trả lời của người dùng, sau đó so sánh câu trả lời đó với ký tự được hiển thị trên hình ảnh CAPTCHA.
<%
Dim result, codeKey, inputCode
result = False
codeKey = "LanapBotDetectCode"
'TODO: read it from the submitted text box value
inputCode = Request("CaptchaCode")
If (Session(codeKey)<>"") Then
code = Session(codeKey)
result = (0 = StrComp(inputCode, code, 1))
'each Captcha code can only be validated once
Session(codeKey) = ""
End If
If result = True Then
'TODO: the user entered the correct value
Response.Redirect ("CORRECT_INPUT_PAGE.ASP")
Else
'TODO: the user entered an invalid value
Response.Redirect ("INCORRECT_INPUT_PAGE.ASP")
End If
%>
Mã nguồn ví dụ ASP CAPTCHA
Bạn có thể tìm thấy nhiều mã nguồn ví dụ tương tự như những gì được hướng dẫn trên trang web này trong gói cài đặt của BotDetect CAPTCHA Mã nguồn ví dụ ASP. Bên cạnh việc copy nhưng file cần thiết (LanapBotDetectHandler.asp, BotDetectScript.js, speaker.gif, reload.gif) vào thư mục dự án, bạn cũng có thể đọc thêm mã nguồn để biết cách sử dụng những đoạn code này trong trang ASP của bạn.
Phiên bản hiện tại của BotDetect
- BotDetect ASP.NET CAPTCHA v2.0.152009–11–23
- BotDetect ASP CAPTCHA v2.0.92009–02–12
Xin lưu ý
Trang này là bản dịch tiếng Việt không chính thức của trang gốc tiếng Anh: How To add BotDetect CAPTCHA protection to ASP forms và có thể không chính xác, không đầy đủ hoặc không cập nhật.
Cập nhật ngày 2009-11-30. Áp dụng cho BotDetect ASP.NET CAPTCHA v2.0.15 và BotDetect ASP CAPTCHA v2.0.9.





