Làm thế nào để sử dụng chức năng tự php_?
Tên tệp đường dẫn đầy đủ hiện tại được giữ trong biến hệ thống Show
Chuyển hướng đến trang khácSử dụng hàm Để tải lại (làm mới) trang hiện tại, bạn có thể Mảng inSử dụng hàm có sẵn $a = array(-1 => 5); echo $a[-1]; var_dump($a);0 để nối các phần tử của mảng thành một chuỗi, e. g. , Mặt khác, $a = array(-1 => 5); echo $a[-1]; var_dump($a);1 tách một chuỗi thành một mảng $str1 = 'apple,orange,banana'; var_dump(explode(',', $str1)); $str2 = 'apple orange banana'; var_dump(explode(' ', $str2)); Chỉ số mảng phủ định so với. Chỉ mục vị trí chuỗi phủ địnhBạn có thể sử dụng khóa mảng âm trong một mảng kết hợp. Ví dụ, $a = array(-1 => 5); echo $a[-1]; var_dump($a); Khóa mảng phủ định khác với chỉ mục vị trí phủ định cho chuỗi, chỉ mục này lập chỉ mục vị trí từ phía sau chuỗi. Ví dụ, $_SERVER là một trong các biến toàn cục PHP—được gọi là Superglobals—chứa thông tin về máy chủ và môi trường thực thi. Đây là các biến được xác định trước để chúng luôn có thể truy cập được từ bất kỳ lớp, hàm hoặc tệp nào Các mục ở đây được các máy chủ web nhận ra, nhưng không có gì đảm bảo rằng mỗi máy chủ web sẽ nhận ra mọi Superglobal. Ba mảng PHP $_SERVER này đều hoạt động theo những cách tương tự—chúng trả về thông tin về tệp đang được sử dụng. Khi tiếp xúc với các tình huống khác nhau, trong một số trường hợp, họ cư xử khác nhau. Những ví dụ này có thể giúp bạn quyết định cái nào là tốt nhất cho những gì bạn cần. Danh sách đầy đủ các mảng $_SERVER có tại trang web PHP $_SERVER['PHP_SELF']PHP_SELF là tên của tập lệnh hiện đang thực thi
Khi bạn sử dụng $_SERVER[’PHP_SELF’], nó sẽ trả về tên tệp /example/index. php cả khi có và không có tên tệp được nhập vào URL. Khi các biến được thêm vào cuối, chúng sẽ bị cắt bớt và một lần nữa /example/index. php đã được trả lại. Phiên bản duy nhất tạo ra kết quả khác có các thư mục được thêm vào sau tên tệp. Trong trường hợp đó, nó trả về các thư mục đó $_SERVER['REQUEST_URI']REQUEST_URI đề cập đến URI được cung cấp để truy cập một trang
Tất cả những ví dụ này trả về chính xác những gì đã được nhập cho URL. Nó trả về một / đơn giản, tên tệp, các biến và các thư mục được nối thêm, tất cả giống như khi chúng được nhập $_SERVER['SCRIPT_NAME']SCRIPT_NAME là đường dẫn của tập lệnh hiện tại. Điều này có ích cho các trang cần trỏ đến chính chúng
Tất cả các trường hợp ở đây chỉ trả lại tên tệp /example/index. php bất kể nó đã được nhập, không được nhập hay bất kỳ thứ gì được thêm vào nó Trích dẫn bài viết này Sự sắp xếp trích dẫn của bạn Bradley, Angela. "Sử dụng $_SERVER trong PHP. "ThinkCo. https. //www. suy nghĩ. com/using-server-in-php-2693940 (truy cập ngày 21 tháng 1 năm 2023) Mọi lập trình viên đều hiểu tầm quan trọng của bảo mật web. Vi phạm an toàn có thể gây ra những bất tiện nhỏ cũng như tổn thất tài chính đáng kể và vi phạm quyền riêng tư. Đó là lý do tại sao xác thực biểu mẫu PHP cũng nên được coi là ưu tiên Sau khi người dùng gửi biểu mẫu có dữ liệu của họ, điều quan trọng là phải xác thực đầu vào này. Trong các bài học trước, chúng ta đã nói về việc sử dụng các bộ lọc PHP đơn giản và nâng cao để xác thực và làm sạch dữ liệu có thể tiếp cận mã của chúng ta từ bên ngoài Bây giờ chúng ta sẽ tìm hiểu để áp dụng kiến thức đó vào PHP form. Xét cho cùng, chúng được thiết kế đặc biệt để thu thập dữ liệu bên ngoài do khách truy cập trang web của bạn cung cấp. Sử dụng nhiều ví dụ xác thực biểu mẫu PHP, chúng tôi sẽ giải thích cho bạn từng bước nội dungXác thực biểu mẫu PHP. Mẹo chính
Cách kiểm tra biểu mẫu. Ví dụ mãĐể xem cách xử lý biểu mẫu PHP hoạt động, trước tiên hãy tạo một ví dụ về chính biểu mẫu đó. Nó sẽ bao gồm ba trường đầu vào
Đây là mã PHP dạng HTML đầy đủ mà chúng tôi sẽ sử dụng Sao chép ví dụ
Bây giờ đây là tập lệnh để xác thực biểu mẫu PHP Sao chép ví dụ
Đầu tiên, chúng tôi chuyển tất cả các biến đã gửi qua Thứ hai, chúng ta sẽ sử dụng hàm 0 để xóa khoảng trắng thừa, tab và dòng mới khỏi dữ liệu đầu vào, tiếp theo là 1 để xóa dấu gạch chéo ngược khỏi đầu vào. Thay vì viết lặp đi lặp lại các hàm này cho từng phần đầu vào, chúng tôi xác định tất cả chúng trong một hàm 2 duy nhất và sử dụng nó trên mỗi phầnKhi bắt đầu tập lệnh, chúng tôi kiểm tra xem đầu vào đã được gửi hay chưa bằng cách sử dụng 3. Giả sử 4 là 5, biểu mẫu được gửi và xác thực. Nếu không, một biểu mẫu trống sẽ được hiển thịCác yếu tố đầu vào để xác thựcCó một số tùy chọn về cách đầu vào có thể được yêu cầu từ người dùng. Một trong những loại phổ biến nhất là trường văn bản. Tuy nhiên, bạn cũng có thể tùy chỉnh các biểu mẫu của mình bằng các nút radio Trường văn bảnĐể tạo các trường nhập văn bản, chúng ta sẽ sử dụng thẻ HTML 6 và gán thuộc tính name. Bằng cách đó, chúng tôi sẽ có thể tham chiếu trường đầu vào trong mã PHP của chúng tôi. Hãy xemSao chép ví dụ
ưu
LOẠI TRỪ. GIẢM GIÁ 75% ưu
THẤP NHƯ 12. 99$ ưu
GIẢM GIÁ 75% Nút radioCác nút radio được sử dụng khi người dùng phải chọn một tùy chọn từ một lựa chọn được cung cấp. Để tạo hai trong số chúng, hãy tạo hai phần tử đầu vào có thuộc tính tên giống nhau. Đừng quên gán cho chúng các thuộc tính giá trị tương ứng Xem một ví dụ để xem mã của bạn trông như thế nào Sao chép ví dụ
Phần tử biểu mẫuĐể tạo một phần tử PHP biểu mẫu HTML có khả năng chống lại các khai thác khác nhau được kết nối với xác thực và gửi biểu mẫu PHP, chúng tôi sẽ sử dụng hàm 8 là một biến toàn cục mà chúng ta sử dụng để tham chiếu đến trang mà chúng ta hiện đang truy cập khi sử dụng hàm htmlspecialchars() Sao chép ví dụ
PHP TỰ. Ghi chú bảo mậtCẩn thận với biến có tên là 8Bằng cách sử dụng 1 trong trang hiện tại và nhập ký hiệu 2, kẻ tấn công có thể sử dụng lệnh Cross Site Scripting (XSS)
Hãy tưởng tượng đây là phần tử biểu mẫu trong biểu mẫu tệp của chúng tôi. php Sao chép ví dụ
Nếu một URL bình thường được nhập, mã ở trên sẽ được chuyển thành một cái gì đó tương tự như ví dụ xác thực biểu mẫu PHP này Sao chép ví dụ
Vâng, điều đó sẽ xảy ra bình thường. Tuy nhiên, ai đó có thể nhập một URL như thế này Sao chép ví dụ
Sau đó, mã ở trên sẽ được biến thành một cái gì đó như thế này Sao chép ví dụ
Trong trường hợp này, URL sẽ nhập một lệnh khiến trang web của chúng tôi hiển thị cảnh báo JavaScript cho biết đã bị tấn công. Bài học ở đây là sử dụng 1 là một điểm yếu có thể dễ dàng khai thácHãy nhớ rằng bằng cách thêm các thẻ 4, tin tặc có thể chạy mã JavaScript trên trang web của bạn. Cuộc xâm lược này sẽ cho phép họ làm hại cơ sở dữ liệu hoặc trang web của bạn
Mục đích của $_ PHP_SELF trong PHP là gì?$_SERVER["PHP_SELF"] 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 thi. Vì vậy, $_SERVER["PHP_SELF"] gửi dữ liệu biểu mẫu đã gửi đến chính trang đó, thay vì chuyển sang 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.
Làm cách nào để tạo biểu mẫu PHP tự gửi?Cách thích hợp là sử dụng $_SERVER["PHP_SELF"] (kết hợp với htmlspecialchars để tránh khả năng khai thác). Bạn cũng có thể bỏ qua phần hành động = trống, phần này không hợp lệ với W3C, nhưng hiện đang hoạt động trong hầu hết (tất cả?) Trình duyệt - mặc định là tự gửi nếu nó trống.
Biến $_ SERVER PHP_SELF là gì?$_SERVER['PHP_SELF'] Trả về tên tệp của tập lệnh hiện đang thực thi. $_SERVER['GATEWAY_INTERFACE'] Trả về phiên bản Giao diện cổng chung (CGI) mà máy chủ đang sử dụng
Làm cách nào để gọi hàm ở dạng hành động PHP?Gọi hàm PHP bằng nút HTML. Tạo tài liệu biểu mẫu HTML có chứa nút HTML. Khi bấm vào nút, phương thức POST được gọi. Phương thức POST mô tả cách gửi dữ liệu đến máy chủ. Sau khi nhấp vào nút, hàm array_key_exists() được gọi. |