Hướng dẫn cho phép thực thi mã PHP trong nội dung của widget văn bản (Text Widget) trong WordPress
1 2 3 4 5 6 7 8 9 10 11 |
// Add custom Theme Functions here add_filter('widget_text','execute_php',100); function execute_php($html){ if(strpos($html,"<"."?php")!==false){ ob_start(); eval("?".">".$html); $html=ob_get_contents(); ob_end_clean(); } return $html; } |
Đoạn code này cho phép thực thi mã PHP trong nội dung của widget văn bản (Text Widget) trong WordPress bằng cách sử dụng bộ lọc widget_text
. Khi người dùng nhập mã PHP vào widget, nó sẽ được xử lý và thực thi thay vì chỉ hiển thị dưới dạng văn bản.
Nguy Cơ Bảo Mật
- Dễ bị tấn công RCE (Remote Code Execution): Nếu người dùng có quyền chỉnh sửa widget văn bản, họ có thể chèn mã độc hại (ví dụ: gửi email spam, truy cập tệp tin hệ thống, hoặc xóa dữ liệu).
eval()
không an toàn: Hàm này có thể thực thi bất kỳ mã PHP nào, bao gồm mã độc.- Cách khắc phục:
- Hạn chế quyền chỉnh sửa widget cho người dùng không đáng tin cậy.
- Sử dụng plugin “PHP Code Widget” an toàn hơn để hỗ trợ PHP trong widget thay vì
eval()
.
Quý khách cần tư vấn thiết kế web giá rẻ, vui lòng nhấn nút bên dưới:
Chào ! Bạn thấy nội dung này thế nào?
Xem thêm: