Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (210.75 KB, 6 trang )
rong bài này, chúng ta tiếp tục tìm hiểu phương pháp tạo dãy số ngẫu
nhiên để chống tấn công flood dữ liệu. Hoặc ai đó cố tình spam khiến cơ
sở dữ liệu của chúng ta không thể xử lý tiếp được.
Cùng chủ đề này « PHP cơ bản - Bài 13: Viết ứng dụng sửa xóa thành
viên bằng PHP và MYSQL PHP cơ bản - Bài 15: Viết ứng dụng đếm số
người online bằng php »
Ở những bài trước, chúng ta đã tìm hiểu về cách làm việc với PHP kết
hợp MYSQL trong việc xây dựng hệ thống thêm, sửa, xóa và quản lý
user.
Trước tiên, chúng ta tiến hành tạo form HTML đơn giản để thực thi thao
tác nhập liệu như sau:
Chúng ta chú ý phần hình ảnh, tại đây tôi truyền đường dẫn chính là liên
kết tới trang random_image.php. Trang này sẽ thực thi công việc tạo ra
những bức hình có dãy số ngẫu nhiên để phần nhập liệu của người sử
dụng tham chiếu tới.
Tiếp theo, chúng ta khởi tạo file random_image.php để lấy ra dãy số
ngẫu nhiên và phát sinh chúng ngay trên tấm hình cho người truy cập
nhập liệu.
Để làm được điều đó. Chúng ta sẽ khởi tạo session và lưu dãy số nhập
liệu đó vào session của mình, sau đó so khớp với trang form bên kia.
(xem lại bài 6: Khái niệm cơ bản về cookie và session trong PHP)
Đầu tiên chúng ta sử dụng hàm md5 và ran để mã hóa các ký tự bao gồm
số và chữ cái. Khi sử dụng hàm md5() ký tự phát sinh sẽ lên tới 32 ký tự.
Và chúng ta chỉ lấy duy nhất 5 ký tự từ chuỗi mã hóa đó bằng hàm
substr. Tiếp tục ta lưu đoạn mã hóa này trong session cụ thể
$_SESSION['security_code'], để tại trang form ta sẽ sử dụng so sánh với
phần nhập liệu của người sử dụng.
Vậy nên đoạn code dưới sẽ giải quyết các tình huống này.
Kế đến ta khởi tạo tấm hình với chiều rộng và chiều cao mà ta thiết lập
thông qua hàm ImageCreate() . Và tiếp tục khai báo 2 màu chính là trắng
và đen bằng hàm ImageColorAllocate($image, red, green, blue ). Hàm