Tạo form nhập dữ liệu trong php

     

Xác thực biểu mẫu (form) trong PHP

Hãy bảo đảm tính BẢO MẬT Khi giải pháp xử lý các biểu mẫu mã PHP!Chương thơm này đang đã cho thấy phương pháp giải pháp xử lý những biểu mẫu PHPhường. một cách an ninh. Xác thực tài liệu biểu chủng loại phù hợp lệ thì hết sức đặc trưng nhằm bảo vệ biểu mẫu mã của người tiêu dùng khỏi tin tặc và kẻ gửi thỏng rác!

Biểu mẫu mã HTML cơ mà công ty chúng tôi sẽ thao tác làm việc vào chương thơm này, cất những trường nhập tài liệu không giống nhau như: các trường văn uống bản đề xuất và tùy lựa chọn, nút ít radio với nút gửi nlỗi sau:

*

Các nguyên tắc xác thực tài liệu cho những trường của biểu mẫu ngơi nghỉ bên trên nlỗi sau:


TrườngQuy tắc xác thực
Name Bắt buộc nhập + Chỉ được cất những chữ cái và khoảng chừng Trắng.

Bạn đang xem: Tạo form nhập dữ liệu trong php

E-mail Bắt buộc nhập + Phải chứa shop tin nhắn hòa hợp lệ (gồm
và.).
Website Không buộc phải. Nếu tất cả, nó cần cất một URL hợp lệ.
Comment Không cần. Trường nhập nhiều chiếc (textarea).
Gender Bắt buộc nhập. Phải lựa chọn 1.

Trường văn bản

Các trường Name, E-Mail cùng Website là những trường nhập vnạp năng lượng bạn dạng, trường Comment là một vùng nhập văn uống bạn dạng. Mã HTML trông như vậy này:

Gender:FemaleMaleOther

Phần tử biểu mẫu

Mã HTML của biểu chủng loại (form) trông như vậy này:

">Dữ liệu của biểu mẫu sẽ được gửi cùng với cách thức "POST".

Biến $_SERVER<"PHP_SELF"> là gì?$_SERVER<"PHP_SELF"> là 1 đổi thay cực kỳ toàn bộ trả về tên file của tập lệnh hiện tại đang thực hiện.

Xem thêm: Lỗi Bảo Mật Trên Cốc Cốc Cốc Không Vào Được Mạng, Cách Sửa Lỗi Cốc Cốc Không Vào Được Mạng

Vì vậy, $_SERVER<"PHP_SELF"> sẽ gửi tài liệu biểu chủng loại mang đến chính trang đó, gắng vày gửi đến một trang khác. Bằng bí quyết này, người tiêu dùng đang cảm nhận thông tin lỗi bên trên và một trang cùng với biểu chủng loại.

Hàm htmlspecialchars() là gì?Hàm htmlspecialchars() đổi khác những cam kết từ quan trọng thành các cam kết từ mã hóa HTML. Như vậy Có nghĩa là nó đã thay thế sửa chữa những ký từ HTML nlỗi bởi . Vấn đề này ngăn chặn kẻ tấn công khai thác mã bằng cách tiêm mã HTML hoặc Javascript (tiến công Cross-site Scripting) vào các biểu mẫu.

Lưu ý to về bảo mật biểu mẫu PHP

Biến $_SERVER<"PHP_SELF"> rất có thể được thực hiện vị tin tặc!

Nếu PHP_SELF được thực hiện trong trang của khách hàng thì người tiêu dùng rất có thể nhập vệt gạch chéo cánh (/) và tiếp đến một số trong những lệnh XSS (Cross-site Scripting) để triển khai.

Cross-site Scripting (XSS) là 1 trong các loại lỗ hổng bảo mật máy tính xách tay thường bắt gặp trong số ứng dụng Web. XSS chất nhận được kẻ tấn công chuyển tập lệnh phía trang bị khách hàng vào các trang Web được xem do người tiêu dùng khác.

Giả sử chúng ta gồm biểu chủng loại sau trong một trang mang tên "test_size.php":

">Bây giờ đồng hồ, trường hợp người dùng nhập URL thông thường vào tkhô cứng shop như "http://www.example.com/test_khung.php", đoạn mã trên sẽ tiến hành dịch thành:

http://www.example.com/test_khung.php/%22%3E%3Cscript%3Ealert("hacked")%3C/script%3ETrong trường hợp này, đoạn mã trên sẽ tiến hành dịch thành:

Mã này thêm 1 thẻ script với một lệnh lưu ý. Và Khi cài trang, mã JavaScript sẽ được xúc tiến (người tiêu dùng sẽ thấy một hộp cảnh báo). Đây chỉ là 1 ví dụ đơn giản và dễ dàng với vô hại về phong thái khai thác phát triển thành PHP_SELF.

Xin để ý rằng hầu như mã JavaScript hồ hết có thể được chế tạo vào thẻ ">Nỗ lực khai thác không thắng cuộc, và không tồn tại tác hại nào được thực hiện!

Xác thực dữ liệu biểu chủng loại vào PHP

Điều thứ nhất chúng ta đã làm cho là truyền toàn bộ những biến đổi trải qua hàm htmlspecialchars() của PHP..

khi bọn họ sử dụng hàm htmlspecialchars(), kế tiếp giả dụ người dùng nỗ lực gửi văn bản sau vào ngôi trường văn bản: