Hướng dẫn what is the purpose of $_ php_self? - mục đích của $_ php_self là gì?
Trong bài viết này cho thấy việc sử dụng biến PHP_elf và cách tránh khai thác PHP_elf. Show
Biến PHP_Self là gì?PHP_Self là một biến trả về tập lệnh hiện tại được thực thi. Biến này trả về tên và đường dẫn của tệp hiện tại (từ thư mục gốc). Bạn có thể sử dụng biến này trong lĩnh vực hành động của biểu mẫu. Ngoài ra còn có những khai thác nhất định mà bạn cần phải biết. Chúng ta sẽ thảo luận về tất cả các điểm này trong bài viết này. Bây giờ chúng tôi sẽ thấy một số ví dụ. ________số 8 a) Giả sử tệp PHP của bạn được đặt tại địa chỉ: Trong trường hợp này, php_elf sẽ chứa: 0b) Giả sử tệp PHP của bạn được đặt tại địa chỉ: 1Đối với url này, php_elf sẽ là: 2Sử dụng biến PHP_elf trong trường hành động của biểu mẫuMột cách sử dụng phổ biến của biến PHP_elf là trong trường hành động của thẻ 3. Trường hành động của biểu mẫu hướng dẫn nơi gửi dữ liệu biểu mẫu khi người dùng nhấn nút Gửi. Người ta thường có cùng một trang PHP như trình xử lý cho biểu mẫu.Tuy nhiên, nếu bạn cung cấp tên của tệp trong trường hành động, trong trường hợp bạn tình cờ đổi tên tệp, bạn cũng cần cập nhật trường hành động; Hoặc các biểu mẫu của bạn sẽ ngừng hoạt động. Sử dụng biến PHP_elf Bạn có thể viết mã chung hơn có thể được sử dụng trên bất kỳ trang nào và bạn không cần chỉnh sửa trường hành động. Có thể bạn quan tâmHãy xem xét, bạn có một tệp được gọi là form-action.php và muốn tải cùng một trang sau khi biểu mẫu được gửi. Mã biểu mẫu thông thường sẽ là:
Chúng ta có thể sử dụng biến PHP_elf thay vì hình thức hành động. Mã trở thành:
Mã hoàn chỉnh của Form Form-action.phpĐây là mã kết hợp, chứa cả biểu mẫu và tập lệnh PHP.
Mã PHP này nằm trên phần HTML và sẽ được thực thi trước. Dòng mã đầu tiên là kiểm tra xem biểu mẫu có được gửi hay không. Tên của nút gửi là, gửi. Khi nhấn nút gửi, 4 sẽ được đặt và điều kiện nếu điều kiện sẽ trở thành đúng. Trong trường hợp này, chúng tôi đang hiển thị tên được nhập bởi người dùng.Nếu biểu mẫu không được gửi thì điều kiện IF sẽ sai vì sẽ không có giá trị trong 4 và mã PHP sẽ không được thực thi. Trong trường hợp này, chỉ có biểu mẫu sẽ được hiển thị.Khai thác php_elf là gì và cách tránh chúngBiến PHP_elf được sử dụng để lấy tên và đường dẫn của tệp hiện tại nhưng nó cũng có thể được sử dụng bởi các 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. Xem ví dụ bên dưới:
Bây giờ, nếu người dùng đã nhập URL bình thường vào thanh địa chỉ như 6, mã trên sẽ được dịch là:
Đây là trường hợp bình thường. Bây giờ hãy xem xét rằng người dùng đã gọi tập lệnh này bằng cách nhập URL sau vào thanh địa chỉ trình duyệt: 7Trong trường hợp này, sau khi PHP xử lý mã trở thành:
Bạn có thể thấy rằng mã này đã thêm một thẻ tập lệnh và lệnh cảnh báo. Khi trang này được tải, 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 làm thế nào biến PHP_elf có thể được khai thác. Bất kỳ mã JavaScript nào cũng có thể được thêm vào giữa thẻ script script. 8. Một hacker có thể liên kết đến một tệp JavaScript có thể được đặt trên một máy chủ khác. Tệp JavaScript đó có thể giữ mã độc có thể thay đổi các biến toàn cầu và cũng có thể gửi biểu mẫu đến một địa chỉ khác để ghi dữ liệu người dùng chẳng hạn.Cách tránh khai thác PHP_SelfCó thể tránh các khai thác PHP_elf bằng cách sử dụng hàm & nbsp; htmlentities (). Ví dụ: mã biểu mẫu phải như thế này để tránh khai thác PHP_elf:
Hàm HTMLENTITY () mã hóa các thực thể HTML. Bây giờ nếu người dùng cố gắng khai thác biến PHP_elf, nỗ lực sẽ thất bại và kết quả của việc nhập mã độc vào URL sẽ dẫn đến đầu ra sau:
Như bạn có thể thấy, phần kịch bản bây giờ là ’vệ sinh. Vì vậy, don không quên chuyển đổi mọi lần xuất hiện của 9 thành 0 trong suốt kịch bản của bạn.Lưu ý: Một số máy chủ PHP được cấu hình để giải quyết vấn đề này và họ tự động thực hiện chuyển đổi này. Nhưng, tại sao lại gặp rủi ro? Làm cho nó trở thành thói quen sử dụng htmlentity () với php_elf. Some PHP servers are configured to solve this issue and they automatically do this conversion.But, why take risk? make it a habit to use htmlentities() with PHP_SELF. Xem thêm
Biến Php_elf của máy chủ $ _ giải thích với ví dụ là gì?$ _Server ['php_elf'] biến. Phần tử mảng này chỉ ra tên tệp của tập lệnh hiện đang thực hiện. Ví dụ: nếu bạn chạy www.cyberciti.biz/index.php, $ _server ['php_elf'] sẽ là /index.This array element points out the filename of the currently executing script. For example, if you run www.cyberciti.biz/index.php, $_SERVER['PHP_SELF'] would be /index.
Biến máy chủ $ _ là gì?$ _Server trong PHP là một biến siêu global.Biến này là một mảng kết hợp lưu trữ thông tin về máy chủ, đường dẫn và tập lệnh.PHP cung cấp các tham số khác nhau có thể được truyền trong $ _Server như $ _server ['php_elf'], $ _server ['server_protocol'], v.v.
Máy chủ $ _ ['Script_name'] là gì?$ _Server ['script_name'] là phía máy chủ.Kết quả là không có vấn đề tương thích trình duyệt nào và không nên có vấn đề bảo mật vì nó chỉ đơn giản là một dấu hiệu cho thấy máy chủ đang phục vụ cho URL được yêu cầu (tức là http://example.com/ và http: // ví dụ.com/index.php sẽ cả hai kết quả là '/index.
HTMLSPECIALCHARS là gì ($ _ Máy chủ PHP_elf là gì?Php echo htmlspecialchars ($ _ server ['php_elf']);?Nó gửi dữ liệu biểu mẫu được gửi đến cùng một trang, thay vì nhảy trên một trang khác. |
Bài Viết Liên Quan
Hướng dẫn mysql connectors - kết nối mysql
Để kết nối Java với MySQL bằng JDBC, giả sử bạn đã tạo bảng trong MySQL, bạn cần làm theo 4 bước sau: kết nối Java với MySQL bằng JDBC, giả sử bạn đã ...
Hướng dẫn css selector special characters - các ký tự đặc biệt của bộ chọn css
Câu trả lời ngắn gọn: DOM phân tích bất kỳ bộ chọn nào bạn chuyển cho nó dưới dạng chuỗi. Nếu kết quả (phân tích cú pháp bởi DOM) chứa khoảng trắng ...
Hướng dẫn python getter dict - python getter dict
Dẫn nhậpỞ các bài trước, bạn đọc đã tìm hiểu về CÁC PHƯƠNG THỨC ĐẶC BIỆT TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG PYTHON.Còn ở bài này, bạn đọc sẽ ...
Hướng dẫn print squares in python - in hình vuông bằng python
Nội phân Chính showShowQuảng trường Python: Sử dụng nhân hai lầnVuông một số sử dụng toán tử số mũ.Sử dụng phương thức math.pow () để tính toán bình ...
Hướng dẫn how do i write a javascript array to add positive and negative numbers? - làm cách nào để viết một mảng javascript để thêm các số dương và âm?
Vấn đềChúng tôi được yêu cầu viết một hàm JavaScript có trong một loạt các số (dương và âm). Hàm của chúng tôi nên tính toán và trả về tổng của tất ...
Hướng dẫn python-docx table margin - lề bảng python-docx
Tôi cần nhanh chóng thay đổi lề của nhiều tài liệu DOCX. Tôi đã kiểm tra Python-docx và tôi không tìm thấy cách truy cập/sửa đổi bố cục trang (đặc biệt là ...
Gala tết việt 2023
Mua vé Tết Vạn Lộc 2023 – Gala Gặp Nhau Cuối Năm. Gọi mua vé: 0962 986 358 / 0942 755 358 – (Xem SƠ ĐỒ VÉ bên dưới bài viết)1, Thông tin chi tiết Tết Vạn ...
Hướng dẫn how do i delete one character from the right in excel? - làm cách nào để xóa một ký tự từ bên phải trong excel?
Hôm qua, một trong những đồng nghiệp của tôi ...... Ai thực sự đam mê học Excel những ngày này ...... hỏi tôi điều này:Bạn có biết làm thế nào để loại ...
Hướng dẫn how to run php in xampp - cách chạy php trong xampp
Cập nhật lần cuối vào ngày 26.2022 213,8k lượt xem 213.8K Views Một công nghệ thích viết về các công nghệ khác nhau và truyền bá kiến thức. Một công ...
Hướng dẫn paired bootstrap python - đã ghép nối bootstrap python
Hướng dẫn sql vs python vs java - sql vs python vs javaTrang chủ & nbsp;> & nbsp; Khoa học dữ liệu & NBSP;> & NBSP;Khi chúng ta nói về các ngôn ngữ lập trình hàng đầu ...
Hướng dẫn sql vs python vs java - sql vs python vs java
Trang chủ & nbsp;> & nbsp; Khoa học dữ liệu & NBSP;> & NBSP;Khi chúng ta nói về các ngôn ngữ lập trình hàng đầu thế giới, & nbsp; chúng là một số ngôn ngữ lập ...
Hướng dẫn get dropdown selected text in php - tải xuống văn bản đã chọn trong php
Tôi hoàn toàn mới trong PHP, trên thực tế, lý do tôi làm điều này là để tùy chỉnh một plugin WordPress để nó có thể phù hợp với nhu cầu của tôi. Cho đến ...
Nghỉ hưu sớm trước năm 2023
Bà Ngọc An hỏi: Tôi là viên chức nữ theo diện tinh giản biên chế, sinh tháng 12.1968. Nếu nghỉ hưu trước tuổi năm 2023, tôi có bị trừ phần trăm lương hưu ...
Hướng dẫn node js server html page - trang html của máy chủ js
Máy chủ Node.js đơn giản nhất chỉ là:$ npm install http-server -g Bây giờ bạn có thể chạy một máy chủ thông qua các lệnh sau:$ cd MyApp $ http-server Nếu bạn đang ...
Hướng dẫn can i run python in a browser? - tôi có thể chạy python trong trình duyệt không?
Nếu bạn là một nhà phát triển web thích viết Python qua JavaScript, thì Brython, một triển khai Python chạy trong trình duyệt, có thể là một lựa chọn hấp ...
Hướng dẫn how do i import biopython into python? - làm cách nào để nhập biopython vào python?
OB Tiêu đề: Bắt đầu permalink: wiki/get_started bố cục: Wiki -Tải xuống và cài đặtĐối với Windows, chúng tôi cung cấp trình cài đặt nhấp chuột. Hầu hết ...
Hướng dẫn correlation heatmap python matplotlib - tương quan bản đồ nhiệt bản đồ python matplotlib
Nếu bạn đang đọc blog này, tôi chắc chắn bạn đã thấy các bản đồ nhiệt. Họ rất đẹp, nhưng họ tiết lộ chỉ nhiều như họ che giấu. Khi được thực ...
Hướng dẫn better than c++ - tốt hơn c ++
So sánh trong Tiếng Anh (1)Phần A: So sánh của tính từ và trạng từ1. So sánh bằngCông thức của so sánh bằng:S + V + as + adj/adv + as + N/pronounS + V + not + so/as + ...
Massage tại nhà tphcm 2023
Mua ghế massage Thủ Đức ở đâu uy tín, chất lượng là băn khoăn của rất nhiều khách hàng hiện nay. Bởi thị trường ghế massage tại đây rất sôi động với ...
Hướng dẫn how to remove empty rows in excel at the bottom - cách xóa các hàng trống trong excel ở dưới cùng
06-19-2007, & NBSP; 10: 56 AM #110:56 AM #1 người dùng đã đăng ký Xóa tất cả các hàng trống thêm ở dưới cùng của bảng tính Tôi có một bảng tính có 156 hàng ...