Kiểm tra email php
Các ví dụ này sẽ chỉ ra cách xử lý các biểu mẫu PHP có lưu ý đến tính bảo mật. Xác nhận đúng cách dữ liệu biểu mẫu là điều quan trọng để bảo vệ biểu mẫu của bạn khỏi tin tặc và những kẻ gửi thư rác Biểu mẫu HTML mà chúng ta sẽ làm việc trong các chương trình này, bao gồm các trường nhập liệu khác nhau. 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 các biểu mẫu trên như sau File Quy tắc xác thực Tên bắt buộc, yêu cầu bắt buộc, bao gồm các ký tự và khoảng trắngE-mailrequired, yêu cầu bắt buột, địa chỉ email đúng định dạng (chứa @ và. )Websitetùy chọn, yêu cầu không bắt buột, chứa URL có giá trịNhận xét tùy chọn, yêu cầu không bắt buột, chứa nhiều dòng thông tin nhập vàoGenderrequired, yêu cầu bắt buột, chọn một tùy chọn Trước tiên, chúng tôi sẽ xem xét mã HTML thuần túy cho biểu mẫu Trường vănTên trường, email và trang web là các yếu tố nhập văn bản và trường nhận xét là một vùng văn bản. Code HTML as after Name: E-mail: Website: Comment: Các nút RadioCác trường được giới hạn là các nút radio và mã HTML như sau Gender: Female Male Other Dạng phần tửMã HTML của biểu mẫu biểu mẫu như sau Khi biểu mẫu được gửi đi, dữ liệu biểu mẫu được gửi bằng method = "post"
Vì vậy,
Lưu ý quan trọng về biểu mẫu PHPBiến Nếu Gender: Female Male Other0 được sử dụng trong trang của bạn thì người dùng có thể nhập dấu gạch chéo (/) rồi thực thi một số lệnh Cross Site Scripting (XSS)
Giả sử chúng ta có biểu mẫu sau trong một trang có tên "test_form. php" "> Bây giờ, nếu người dùng nhập URL bình thường vào thanh địa chỉ như "http. //www. thí dụ. com/test_form. php", thì đoạn mã trên sẽ được giao dịch thành công Tuy nhiên, hãy xem nhận xét rằng người dùng nhập URL sau đó vào thanh địa chỉ http. //www. thí dụ. com/test_form. php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E Trong trường hợp này, mã trên sẽ được giao dịch thành This code add a command tag and a command warning. Và khi tải trang, mã JavaScript sẽ được thực thi (người dùng sẽ thấy một hộp cảnh báo). Đây chỉ là một ví dụ đơn giản và vô hại về cách khai thác biến PHP_SELF Xin lưu ý rằng bất kỳ mã JavaScript nào cũng có thể được thêm vào bên trong thẻ Gender: Female Male Other1 Gender: Female Male Other2 Gender: Female Male Other3 của PHP) Gender: Female Male Other4) khỏi dữ liệu đầu vào của người dùng (với dấu gạch chéo ngược () trong PHP) Bước tiếp theo là tạo ra một chức năng sẽ thực hiện tất cả các công việc kiểm tra cho chúng ta (điều kiện này thuận tiện hơn nhiều so với việc viết đi viết lại cùng một đoạn mã) Chúng ta sẽ đặt tên cho hàm là Gender: Female Male Other5 Bây giờ, chúng ta có thể kiểm tra từng biến số Gender: Female Male Other6 bằng hàm Gender: Female Male Other5 và tập lệnh như sau Ví dụ Ví dụ function test_input($data){ $data = trim($data); $data = addslashes($data); $data = htmlspecialchars($data); return $data; } ?> View results Lưu ý rằng khi bắt đầu tập lệnh, chúng ta sẽ kiểm tra xem biểu mẫu đã được gửi bằng cách sử dụng biến Gender: Female Male Other8 hay chưa. Nếu REQUEST_METHOD là POST, thì biểu mẫu đã được gửi và nó sẽ được xác thực. Nếu nó chưa được gửi, thì bỏ 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 bắt đầu là tùy chọn. Good active command ngay cả khi người dùng không nhập bất kỳ dữ liệu nào |