Khắc Phục Ngay Lỗi WordPress wp-includes Permission: Hướng Dẫn Chi Tiết Từ A-Z Cho Website Không Bị Tấn Công

wordpress wp-includes permission lỗi

Lỗi wordpress wp-includes permission lỗi là một trong những vấn đề nghiêm trọng nhất mà quản trị viên website có thể gặp phải. Khi thư mục wp-includes bị cấu hình sai quyền truy cập, trang web của

wordpress wp-includes permission lỗi - Hình 5

Thư mục wp-includes là trái tim của mã nguồn WordPress, chứa các tệp lõi như functions.php, các lớp đối tượng, và thư viện quan trọng. WordPress wp-includes permission lỗi xảy ra khi quyền truy cập (permission) trên hệ thống tệp của máy chủ được đặt không chính xác. Điều này dẫn đến việc máy chủ web không thể đọc hoặc thực thi các tệp cần thiết, hoặc ngược lại, cho phép người dùng không mong muốn truy cập và chỉnh sửa chúng.

Về bản chất kỹ thuật, mỗi tệp và thư mục trên máy chủ Linux đều có ba loại quyền: đọc (r), ghi (w) và thực thi (x). Các quyền này được phân bổ cho ba nhóm: chủ sở hữu (owner), nhóm (group) và người khác (others). Khi quyền của thư mục wp-includes bị đặt quá chặt (ví dụ 700) hoặc quá lỏng lẻo (ví dụ 777), lỗi xuất hiện.

Nguyên Nhân Chính Gây Ra WordPress wp-includes Permission Lỗi

1. Cấu Hình Permission Sai Trong Quá Trình Cài Đặt Hosting

Nhiều nhà cung cấp dịch vụ hosting tự động đặt quyền mặc định không phù hợp với WordPress. Một số máy chủ sử dụng user nobody hoặc www-data làm user chạy PHP, trong khi tệp lại thuộc sở hữu của user FTP. Điều này gây ra xung đột quyền truy cập ngay lập tức.

2. Lỗi Do Plugin Hoặc Theme Có Mã Độc

Plugin hoặc theme kém chất lượng đôi khi tự động thay đổi quyền của tệp trong thư mục wp-includes mà không thông báo. Một số plugin bảo mật quá mức có thể khóa thư mục này, gây ra 403 Forbidden WordPress.

3. Quá Trình Upload Tệp Bằng FTP Bị Gián Đoạn

Khi bạn upload tệp lên thư mục wp-includes qua FTP và kết nối bị ngắt, các tệp mới tạo ra có thể giữ nguyên quyền mặc định sai. Điều này thường xảy ra với các bản cập nhật WordPress thủ công.

4. Tấn Công Server Hoặc Lỗi Bảo Mật

Hacker sau khi xâm nhập có thể thay đổi quyền của wp-includes để dễ dàng chèn mã độc. Khi đó, lỗi permission trở thành dấu hiệu cho thấy website đã bị tấn công.

Dấu Hiệu Nhận Biết WordPress wp-includes Permission Lỗi

wordpress wp-includes permission lỗi - Hình 4
    • Trang web hiển thị thông báo 403 Forbidden khi truy cập trực tiếp vào thư mục wp-includes qua URL (ví dụ: domain.com/wp-includes/).
    • Xuất hiện 500 Internal Server Error khi cố gắng tải trang quản trị hoặc frontend.
    • Các tệp CSS, JavaScript trong wp-includes không tải được, khiến giao diện biến dạng.
    • Thông báo lỗi trong file error_log: “PHP Warning: include(/wp-includes/…): failed to open stream: Permission denied”.
    • Không thể cập nhật WordPress hoặc cài plugin mới do không có quyền ghi.

    Hướng Dẫn Sửa Lỗi WordPress wp-includes Permission Chi Tiết

    Bước 1: Kiểm Tra Permission Hiện Tại Của Thư Mục wp-includes

    Truy cập vào hosting bằng cPanel File Manager hoặc SFTP. Tìm thư mục wp-includes trong thư mục gốc (public_html). Chuột phải và chọn Change Permissions. Một thư mục chuẩn nên có quyền 755 (drwxr-xr-x). Các tệp bên trong như functions.php nên có quyền 644 (-rw-r–r–).

    Bước 2: Sửa Permission Bằng Lệnh SSH (Khuyên Dùng Cho Chuyên Sâu)

    Đăng nhập vào server qua SSH và chạy các lệnh sau để thiết lập lại quyền chính xác:

    find /path/to/wordpress/wp-includes -type d -exec chmod 755 {} ;
    find /path/to/wordpress/wp-includes -type f -exec chmod 644 {} ;

    Lưu ý thay /path/to/wordpress bằng đường dẫn thực tế. Lệnh đầu tiên đặt quyền 755 cho mọi thư mục con, lệnh thứ hai đặt 644 cho mọi tệp tin. Đây là tiêu chuẩn bảo mật cho sửa lỗi permission WordPress.

    Bước 3: Điều Chỉnh Quyền Sở Hữu (Ownership)

    Truy cập SSH và chạy:

    chown -R www-data:www-data /path/to/wordpress/wp-includes

    Thay www-data bằng user PHP của hệ thống (có thể là apache, nginx, hoặc nobody). Nếu bạn không chắc, hãy liên hệ nhà cung cấp hosting. Quyền sở hữu đúng đảm bảo máy chủ web có thể đọc tệp mà không cần quyền quá lỏng lẻo.

    Bước 4: Kiểm Tra File.htaccess Trong wp-includes

    Một số trường hợp tệp .htaccess được tạo trong thư mục wp-includes với các luật chặn truy cập. Mở hoặc tạo tệp .htaccess trong wp-includes với nội dung sau để chặn truy cập trực tiếp nhưng cho phép WordPress sử dụng:

    # Block direct access to wp-includes
    Order deny,allow
    Deny from all
    

    Allow access to required files

    wordpress wp-includes permission lỗi - Hình 3
    <FilesMatch ".(css|js|png|jpg|gif|ico|svg|webp)$"> Allow from all </FilesMatch>

    Điều này ngăn chặn truy cập trực tiếp vào các tệp PHP nhạy cảm nhưng vẫn cho phép tải tài nguyên tĩnh.

    Bước 5: Sử Dụng Plugin Bảo Mật Để Tự Động Sửa

    Nếu bạn không thoải mái với SSH, hãy cài plugin iThemes Security hoặc Wordfence. Các plugin này có tính năng Fix File Permissions tự động. Tuy nhiên, hãy sao lưu website trước khi sử dụng, vì đôi khi plugin có thể đặt quyền quá nghiêm ngặt.

    So Sánh Các Phương Pháp Sửa Lỗi Permission WordPress

    Phương pháp Độ phức tạp Hiệu quả Rủi ro Phù hợp với
    File Manager (cPanel) Thấp Trung bình Thấp (nếu chỉ thay đổi thủ công) Người mới bắt đầu
    Lệnh SSH thủ công Cao Cao nhất Trung bình (nếu sai lệnh có thể hỏng host) Quản trị viên có kinh nghiệm
    Plugin bảo mật tự động Thấp Cao Thấp (nếu cấu hình đúng) Đa số người dùng
    Liên hệ hosting support Không đáng kể Cao (nếu họ làm đúng) Rất thấp Người không rành kỹ thuật

    Lợi Ích Của Việc Cài Đặt Permission Đúng Cho wp-includes

    wordpress wp-includes permission lỗi - Hình 2
    • Ngăn chặn tấn công: Khi quyền là 755/644, hacker không thể ghi tệp mới hoặc sửa tệp hiện có trong wp-includes ngay cả khi chiếm được tài khoản FTP cấp thấp.
    • Giảm lỗi 500 Internal Server Error: Máy chủ web có thể đọc tệp lõi mà không gặp rào cản, giảm thiểu lỗi server ngẫu nhiên.
    • Cải thiện tốc độ tải trang: Khi không có lỗi permission, quá trình biên dịch PHP và gửi tài nguyên tĩnh diễn ra mượt mà hơn.
    • Tránh mất dữ liệu: Quyền ghi bị khóa ở thư mục lõi giúp bảo vệ các tệp cấu hình quan trọng khỏi bị ghi đè.

    Hạn Chế Và Sai Lầm Thường Gặp Khi Sửa Lỗi

    Sai Lầm 1: Đặt Quyền 777 Cho Toàn Bộ Thư Mục wp-includes

    Nhiều người nghĩ rằng đặt quyền 777 (đọc, ghi, thực thi cho tất cả) sẽ giải quyết mọi lỗi. Thực tế, đây là cách nhanh nhất để hacker chiếm quyền kiểm soát website của bạn. WP-Includes chứa các tệp PHP quan trọng; quyền 777 cho phép bất kỳ ai cũng có thể sửa đổi chúng.

    Sai Lầm 2: Chỉ Sửa Permission Mà Không Kiểm Tra Ownership

    Ngay cả khi quyền là 755, nếu chủ sở hữu là root trong khi PHP chạy với user www-data, lỗi vẫn xảy ra. Luôn kiểm tra và đồng bộ ownership trước.

    Sai Lầm 3: Không Sao Lưu Trước Khi Thay Đổi Hàng Loạt

    Một lệnh SSH sai có thể làm hỏng quyền của toàn bộ website. Luôn tạo bản sao lưu đầy đủ (files + database) trước khi can thiệp vào fix file permissions WordPress.

    Ứng Dụng Thực Tế: Case Study Khi WordPress wp-includes Permission Lỗi Gây Mất Toàn Bộ Trang Web

    wordpress wp-includes permission lỗi - Hình 1

    Một khách hàng sử dụng shared hosting của Hostinger đã gặp lỗi 500 sau khi cập nhật plugin bảo mật. Kiểm tra log cho thấy “PHP Fatal error: Uncaught Error: Failed opening required ‘/wp-includes/class-wp-http.php’”. Permission của thư mục wp-includes đã bị plugin thay đổi thành 700 (chỉ owner mới đọc được). Trong khi PHP chạy với user www-data không phải owner, nên không thể đọc tệp. Giải pháp: chạy lệnh SSH chmod 755 wp-includeschown -R www-data:www-data wp-includes. Website hoạt động trở lại ngay lập tức và không còn lỗi.

    Lưu Ý Quan Trọng Khi Xử Lý Lỗi Permission WordPress

    • Không bao giờ dùng tài khoản root để chạy các lệnh thay đổi quyền hàng loạt. Hãy dùng user của hosting hoặc sudo với quyền hạn chế.
    • Kiểm tra PHP handler của hosting: nếu hosting chạy PHP dưới dạng suPHP hoặc FastCGI, quyền và ownership có thể khác so với mod_php. Tham khảo tài liệu của nhà cung cấp.
    • Sử dụng chmod với số octal chính xác: 755 cho thư mục, 644 cho tệp tin. Tránh dùng ký tự tượng trưng nếu chưa chắc chắn.
    • Luôn kiểm tra file manager sau khi sửa để đảm bảo không có thư mục con nào bị sót.
    • Thiết lập cron job tự động để kiểm tra và cảnh báo nếu quyền thư mục quan trọng thay đổi bất thường.

Câu Hỏi Thường Gặp Về WordPress wp-includes Permission Lỗi

Lỗi 403 Forbidden khi truy cập wp-includes có nguy hiểm không?

Có. Mặc dù việc chặn truy cập trực tiếp vào wp-includes là đúng, nhưng lỗi 403 thường cho thấy cấu hình.htaccess hoặc permission sai. Nguy hiểm thực sự nếu ai đó có thể truy cập vào tệp PHP bên trong mà không bị chặn.

Có nên xóa thư mục wp-includes để fix lỗi không?

Tuyệt đối không. Thư mục wp-includes là bắt buộc cho hoạt động của WordPress. Xóa nó sẽ khiến website sập hoàn toàn.

Tại sao sau khi sửa permission, lỗi vẫn còn?

Nguyên nhân có thể do: ownership chưa đúng, tệp.htaccess trong wp-includes chặn, plugin bảo mật can thiệp, hoặc lỗi từ phía hosting (máy chủ bị cấu hình SELinux). Hãy kiểm tra từng yếu tố.

Sửa lỗi permission có ảnh hưởng đến SEO không?

Không trực tiếp, nhưng nếu lỗi kéo dài gây ra downtime, điều này ảnh hưởng xấu đến trải nghiệm người dùng và thứ hạng tìm kiếm.

Plugin bảo mật nào hỗ trợ sửa permission tự động tốt nhất?

WordfenceiThemes Security đều có tính năng này. Wordfence cung cấp báo cáo chi tiết về các tệp có permission bất thường.

Kết Luận

WordPress wp-includes permission lỗi không phải là vấn đề quá phức tạp nếu bạn hiểu rõ nguyên lý hoạt động của hệ thống tệp và quyền truy cập. Bằng cách áp dụng các bước kiểm tra, sửa bằng SSH hoặc plugin, và duy trì quyền chuẩn 755/644 với ownership chính xác, bạn có thể bảo vệ website khỏi các lỗi nguy hiểm và tấn công tiềm ẩn. Luôn ghi nhớ sao lưu trước mọi thay đổi và ưu tiên các giải pháp thủ công có kiểm soát. Một website khỏe mạnh bắt đầu từ những quyền truy cập được thiết lập đúng ngay từ đầu.

Bài viết cùng chủ đề:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *