Hướng dẫn what is validate form data with php? - xác thực dữ liệu biểu mẫu với php là gì?


Các chương này và các chương tiếp theo cho thấy cách sử dụng PHP để xác nhận dữ liệu biểu mẫu.


Xác nhận hình thức PHP

Hãy suy nghĩ bảo mật khi xử lý các hình thức PHP!

Các trang này sẽ chỉ ra cách xử lý các biểu mẫu PHP với bảo mật trong tâm trí. Xác nhận đúng dữ liệu biểu mẫu là rất quan trọng để bảo vệ biểu mẫu của bạn khỏi tin tặc và người gửi thư rác!

Biểu mẫu HTML mà chúng tôi sẽ làm việc tại các chương này, chứa các trường đầu vào khác nhau: các trường văn bản bắt buộc và tùy chọn, nút radio và nút gửi:

Các quy tắc xác thực cho biểu mẫu trên như sau:

Đồng ruộngQuy tắc xác nhận
TênYêu cầu. + Chỉ phải chứa các chữ cái và khoảng trắng
E-mailYêu cầu. + Phải chứa một địa chỉ email hợp lệ (với @ và.)
Trang mạngKhông bắt buộc. Nếu có, nó phải chứa một URL hợp lệ
Bình luậnKhông bắt buộc. Trường đầu vào đa dòng (TextArea)
Giới tínhYêu cầu. Phải chọn một

Đầu tiên chúng ta sẽ xem mã HTML đơn giản cho biểu mẫu:



Trường văn bản

Tên, email và trường trang web là các yếu tố đầu vào văn bản và trường bình luận là một textarea. Mã HTML trông như thế này:

Tên: E-mail: Trang web: Nhận xét:
E-mail:
Website:
Comment:


Nút radio

Các trường giới tính là các nút radio và mã HTML trông như thế này:

Giới tính: Femalemalether
Female
Male
Other


Phần tử biểu mẫu

Mã HTML của biểu mẫu trông như thế này:

">

Khi biểu mẫu được gửi, dữ liệu biểu mẫu sẽ được gửi với Phương thức = "Post".

Biến $ _server ["php_elf"] là gì?

$ _Server ["php_elf"] là một biến siêu toàn cầu trả về tên tệp của tập lệnh hiện đang thực hiện.

Vì vậy, $ _Server ["php_elf"] gửi dữ liệu biểu mẫu đã gửi đến 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 () là gì?

The htmlspecialchars() function converts special characters to HTML entities. This means that it will replace HTML characters like < and > with < and >. This prevents attackers from exploiting the code by injecting HTML or Javascript code (Cross-site Scripting attacks) in forms.


Lưu ý lớn về bảo mật mẫu php

Biến $ _server ["php_elf"] có thể được sử dụng bởi tin tặc!

Nếu php_elf được sử dụng trong trang của bạn thì người dùng có thể nhập các lệnh chém (/) và sau đó một số lệnh scripting sesit (XSS) để thực thi.

Scripting Cross Site (XSS) là một loại lỗ hổng bảo mật máy tính thường được tìm thấy trong các ứng dụng web. XSS cho phép kẻ tấn công đưa tập lệnh phía máy khách vào các trang web được xem bởi những người dùng khác.

Giả sử chúng tôi có biểu mẫu sau trong một trang có tên là "test_form.php":

">

Khi biểu mẫu được gửi, dữ liệu biểu mẫu sẽ được gửi với Phương thức = "Post".

Khi biểu mẫu được gửi, dữ liệu biểu mẫu sẽ được gửi với Phương thức = "Post".

Biến $ _server ["php_elf"] là gì?

$ _Server ["php_elf"] là một biến siêu toàn cầu trả về tên tệp của tập lệnh hiện đang thực hiện.

Vì vậy, $ _Server ["php_elf"] gửi dữ liệu biểu mẫu đã gửi đến 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.

alert('hacked')

Hàm htmlspecialchars () là gì?

Be aware of that any JavaScript code can be added inside the ">

Khi biểu mẫu được gửi, dữ liệu biểu mẫu sẽ được gửi với Phương thức = "Post".


Biến $ _server ["php_elf"] là gì?

$ _Server ["php_elf"] là một biến siêu toàn cầu trả về tên tệp của tập lệnh hiện đang thực hiện.

Vì vậy, $ _Server ["php_elf"] gửi dữ liệu biểu mẫu đã gửi đến 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.

location.href('http://www.hacked.com')

Hàm htmlspecialchars () là gì?

The code is now safe to be displayed on a page or inside an e-mail.

Lưu ý lớn về bảo mật mẫu php

  1. Biến $ _server ["php_elf"] có thể được sử dụng bởi tin tặc!
  2. Nếu php_elf được sử dụng trong trang của bạn thì người dùng có thể nhập các lệnh chém (/) và sau đó một số lệnh scripting sesit (XSS) để thực thi.

Scripting Cross Site (XSS) là một loại lỗ hổng bảo mật máy tính thường được tìm thấy trong các ứng dụng web. XSS cho phép kẻ tấn công đưa tập lệnh phía máy khách vào các trang web được xem bởi những người dùng khác.

Chúng tôi sẽ đặt tên cho chức năng test_input ().

Bây giờ, chúng ta có thể kiểm tra từng biến $ _POST với hàm test_input () và tập lệnh trông như thế này:

Thí dụ

// define variables and set to empty values
$name = $email = $gender = $comment = $website = "";

if ($ _server ["request_method"] == "post") {& nbsp; $ name = test_input ($ _ post ["name"]); & nbsp; $ email = test_input ($ _ post ["email"]); & nbsp; $ trang web = test_input ($ _ post ["trang web"]); & nbsp; $ bình luận = test_input ($ _ post ["bình luận"]); & nbsp; $ giới tính = test_input ($ _ post ["Giới tính"]);}
  $name = test_input($_POST["name"]);
  $email = test_input($_POST["email"]);
  $website = test_input($_POST["website"]);
  $comment = test_input($_POST["comment"]);
  $gender = test_input($_POST["gender"]);
}

hàm test_input ($ data) {& nbsp; $ data = trim ($ data); & nbsp; $ data = stripslashes ($ data); & nbsp; $ data = htmlspecialchars ($ data); & nbsp; trả về $ dữ liệu; }?>
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
?>

Chạy ví dụ »

Lưu ý rằng khi bắt đầu tập lệnh, chúng tôi kiểm tra xem biểu mẫu đã được gửi bằng $ _Server ["request_method"]. Nếu request_method là bài đăng, thì biểu mẫu đã được gửi - và nó phải được xác thực. Nếu nó chưa được gửi, hãy bỏ qua xác thực và hiển thị một biểu mẫu trống.

Tuy nhiên, trong ví dụ trên, tất cả các trường đầu vào là tùy chọn. Tập lệnh hoạt động tốt ngay cả khi người dùng không nhập bất kỳ dữ liệu nào.

Bước tiếp theo là thực hiện các trường đầu vào cần thiết và tạo thông báo lỗi nếu cần.



Xác thực hình thức trong PHP là gì?

Xác thực biểu mẫu là một quá trình cần thiết trước khi dữ liệu được nhập vào biểu mẫu được gửi đến cơ sở dữ liệu. Điều này được thực hiện để tránh các lỗi không cần thiết. Trong xác thực biểu mẫu PHP, tập lệnh kiểm tra dữ liệu trong các trường tương ứng dựa trên các quy tắc do nhà phát triển đặt và trả về lỗi nếu nó không đáp ứng các yêu cầu.a necessary process before the data entered in the form is submitted to the database. This is done to avoid unnecessary errors. In PHP Form validation, the script checks for data in respective fields based on the rules set by the developer, and returns an error if it does not meet the requirements.

Xác thực dữ liệu biểu mẫu là gì?

Xác thực cấp mẫu được sử dụng để đảm bảo tất cả các dữ liệu biểu mẫu cần thiết được điền vào và/hoặc để đảm bảo rằng mọi phụ thuộc dữ liệu giữa các trường đều được đáp ứng trước khi biểu mẫu được gửi.used to ensure all the required form data is filled in, and/or to make sure that any data dependencies between fields are met before the form is submitted.

Tầm quan trọng của việc xác nhận trong PHP là gì?

Tầm quan trọng của xác thực hình thức PHP xác thực dữ liệu là float và dịch để nổi trên thành công.Xác thực dữ liệu là số nguyên, và dịch sang số nguyên trên thành công.Validates data as float, & translates to float on success. Validates data as integer, & translates to integer on success.

Dữ liệu hình thức trong PHP là gì?

PHP - Một biểu mẫu HTML đơn giản Khi người dùng điền vào biểu mẫu ở trên và nhấp vào nút Gửi, dữ liệu biểu mẫu được gửi để xử lý đến tệp PHP có tên "Chào mừng.php".Dữ liệu biểu mẫu được gửi với phương thức bài HTTP.Để hiển thị dữ liệu đã gửi, bạn có thể chỉ cần lặp lại tất cả các biến.A Simple HTML Form When the user fills out the form above and clicks the submit button, the form data is sent for processing to a PHP file named "welcome.php". The form data is sent with the HTTP POST method. To display the submitted data you could simply echo all the variables.