Kiểm tra giá trị Validation trong PHP

Tiếp theo bài trước nói về Form. Bước tiếp theo các lập trình viên thường phải làm là kiểm tra giá trị Validation trong PHP xem user nhập vào có đúng hay không?

Trước tiên chúng ta kiểm tra ở tầng client trước, tức là dạng HTML như hình bên dưới. Nút màu đỏ là yêu cầu bắt buộc phải nhập vào

Mã nguồn của Form này như sau

Chú ý tới action của Form

Biến $_SERVER [“PHP_SELF”] đã tồn tại trong PHP bạn chỉ cần gọi là được. Và chúng sẽ gửi dữ liệu biểu mẫu đã gửi tới chính trang đó, thay vì nhảy đến một trang khác. Bằng cách này, người dùng sẽ nhận được thông báo lỗi trên cùng một trang với biểu mẫu.

Hàm htmlspecialchars () chuyển đổi các ký tự đặc biệt thành các thực thể của HTML. Điều này có nghĩa là nó sẽ thay thế các ký tự HTML như <và> bằng & lt; và & gt ;. Điều này giúp chúng ta ngăn chặn các hacker khai thác mã bằng cách tiêm mã HTML hoặc Javascript (Cross-site Scripting attacks) vào biểu mẫu.

 

Kiểm tra giá trị Validation trong PHP xác thực đúng dữ liệu mới làm

Trước tiên chúng ta sẽ làm là chuyển tất cả các biến thông qua hàm htmlspecialchars() của PHP.

Khi chúng ta sử dụng hàm htmlspecialchars(). Tiếp theo nếu người dùng cố gắng gửi nội dung sau trong trường văn bản:

<script> location.href (‘http://www.hacked.com’) </ script>

  • Điều này sẽ không được thực hiện, vì nó sẽ được lưu dưới dạng mã thoát HTML, như sau:

& lt; script & gt; location.href (‘http://www.hacked.com’) & lt; / script & gt;

  • Mã này hiện tại đã được an toàn để hiển thị trên một trang biểu mẫu của bạn
  • Dãy ký tự không cần thiết (thêm dấu cách, tab, dòng mới) từ dữ liệu đầu vào của người dùng (với hàm PHP trim() của PHP)
    Xóa dấu chéo ngược (\) khỏi dữ liệu đầu vào của người dùng (với hàm stripslashes () của PHP)
    Bước tiếp theo là tạo một hàm sẽ thực hiện tất cả việc kiểm tra cho chúng ta (điều này thuận tiện hơn nhiều so với việc viết cùng một mã lặp đi lặp lại).

Chúng ta sẽ đặt tên hàm test_input().

Bây giờ, chúng ta có thể kiểm tra từng biến $_POST bằng hàm test_input()

Chúc bạn thành công với Kiểm tra giá trị Validation trong PHP để web của bạn an toàn không bị “nhòm ngó!”

Please follow and like us: