Hướng dẫn what is php form validation - xác thực biểu mẫu 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 là gì?

Xác thực biểu mẫu là một quy trình kỹ thuật của người Viking trong đó một dạng web kiểm tra xem thông tin được cung cấp bởi người dùng là chính xác. Biểu mẫu sẽ cảnh báo cho người dùng rằng họ đã làm hỏng và cần sửa một cái gì đó để tiến hành hoặc biểu mẫu sẽ được xác thực và người dùng sẽ có thể tiếp tục với quy trình đăng ký của họ.technical process where a web-form checks if the information provided by a user is correct.” The form will either alert the user that they messed up and need to fix something to proceed, or the form will be validated and the user will be able to continue with their registration process.

PHP có thể được sử dụng để xác nhận không?

Mã xác nhận biểu mẫu PHP là một tập hợp các quy tắc xác thực cho phép bạn tạo xác thực phía máy chủ thành các biểu mẫu PHP nhanh chóng với rất ít nỗ lực. Xác thực biểu mẫu thực sự rất quan trọng cho các trang web động.. Form validation is really crucial for dynamic web pages.

Xác thực hình thức giải thích với ví dụ là gì?

Xác thực hình thức thường thực hiện hai chức năng.Xác thực cơ bản - Trước hết, biểu mẫu phải được kiểm tra để đảm bảo tất cả các trường bắt buộc được điền vào. Nó sẽ chỉ yêu cầu một vòng lặp qua mỗi trường trong biểu mẫu và kiểm tra dữ liệu.the form must be checked to make sure all the mandatory fields are filled in. It would require just a loop through each field in the form and check for data.

Làm thế nào tôi có thể xác nhận trong PHP?

PHP xác nhận dữ liệu ở phía máy chủ, được gửi bởi biểu mẫu HTML.Bạn cần xác thực một vài điều: Chuỗi trống.Xác thực chuỗi ...
$ name = $ _post ["name"] ;.
if (! preg_match ("/^[a-za-z]*$/", $ name)) {.
$ Errmsg = "Chỉ cho phép bảng chữ cái và khoảng trắng." ;.
echo $ errmsg ;.
} khác {.
echo $ name ;.