Làm cách nào để hạn chế quyền truy cập vào tệp PHP?

Các tác nhân độc hại thường khai thác các lỗ hổng trong các chủ đề và plugin có trong các thư mục wp-content và wp-includes của ứng dụng WordPress của bạn. Họ sử dụng chúng để tải lên và thực thi các tệp cửa hậu và phần mềm độc hại vào trang web của bạn. Do đó, chúng tôi khuyên bạn nên hạn chế truy cập trực tiếp và thực thi các tệp PHP. Nó giúp chặn truy cập từ xa và thực thi bất kỳ tệp PHP nào có trong các thư mục này và cung cấp khả năng bảo vệ trang web của bạn trước các cuộc tấn công nguy hiểm như vậy

Mẹo

Cửa hậu đề cập đến các phương pháp giành quyền truy cập bất hợp pháp vào một trang web thông qua các phương tiện bỏ qua các phương thức xác thực, chẳng hạn như tiêm tệp bằng PHP

Cách hạn chế quyền truy cập trực tiếp vào các tệp WordPress PHP

Truy cập trực tiếp vào các tệp PHP bị tắt theo mặc định nếu bạn khởi chạy một ứng dụng mới. Nếu ứng dụng của bạn đã bật quyền truy cập trực tiếp và bạn muốn tắt nó, bạn có thể làm theo các bước sau

Bảo mật WordPress — Điều hướng đến Cài đặt ứng dụng

Đăng nhập vào Nền tảng đám mây của bạn bằng thông tin đăng nhập của bạn

  1. Từ thanh menu trên cùng, mở Máy chủ

  2. Sau đó, chọn máy chủ nơi ứng dụng mong muốn của bạn được triển khai

Làm cách nào để hạn chế quyền truy cập vào tệp PHP?

3. Tiếp theo, nhấp vào www

4. Chọn tên ứng dụng của bạn

Làm cách nào để hạn chế quyền truy cập vào tệp PHP?

5. Trong Quản lý ứng dụng, chọn Cài đặt ứng dụng

Làm cách nào để hạn chế quyền truy cập vào tệp PHP?

Bảo mật WordPress — Hạn chế quyền truy cập trực tiếp vào các tệp PHP

  1. Cuộn xuống trong Cài đặt ứng dụng và Tắt quyền truy cập tệp PHP trực tiếp. 'Tắt' có nghĩa là quyền truy cập trực tiếp vào các tệp PHP bị hạn chế;

Làm cách nào để hạn chế quyền truy cập vào tệp PHP?

2. Tại đây, bạn sẽ được nhắc về việc vô hiệu hóa quyền truy cập trực tiếp vào các tệp PHP. Nhấn OK để xác nhận

Làm cách nào để hạn chế quyền truy cập vào tệp PHP?

Đó là nó. Chúng tôi hy vọng hướng dẫn này hữu ích. Nếu bạn cần bất kỳ trợ giúp nào, vui lòng tìm kiếm truy vấn của bạn trên Trung tâm hỗ trợ Cloudways hoặc liên hệ với chúng tôi qua trò chuyện (Cần trợ giúp > Gửi tin nhắn cho chúng tôi). Ngoài ra, bạn cũng có thể tạo một vé hỗ trợ

Đây là hướng dẫn về cách ngăn người dùng truy cập trực tiếp vào tệp bao gồm PHP trong trình duyệt của họ. Một số tệp bao gồm nhất định có thể dựa vào các biến bên ngoài từ các tệp khác. Do đó, chúng có thể đưa ra lỗi và cung cấp thông tin hệ thống nhạy cảm nếu người dùng tải chúng trực tiếp.

Từ chối quyền truy cập vào tất cả các tệp trong thư mục bao gồm của bạn

Nếu các tệp bao gồm PHP của bạn được đặt trong một thư mục cụ thể, bạn có thể yêu cầu máy chủ web của mình từ chối tất cả quyền truy cập vào nó

apache

Nếu bạn đang sử dụng Apache, bạn có thể tạo một. htaccess và đặt nó vào thư mục được đề cập. Cái này. htaccess phải chứa các lệnh sau

order deny,allow
deny from all

ở trên. htaccess yêu cầu Apache trả về phản hồi “403 Forbidden” nếu ai đó cố gắng truy cập vào thư mục được đề cập

Nginx

Thật không may, Nginx không hỗ trợ. tập tin htaccess. Do đó, bạn sẽ cần chỉnh sửa tệp cấu hình khối máy chủ của mình để chứa các nội dung sau

location ~ /(includes|config) {
    deny all;
    return 403;
}

Mục nhập vị trí ở trên yêu cầu Nginx ngăn truy cập web vào hai thư mục có tên là “gồm” và “config”. Nếu người dùng cố gắng truy cập các thư mục này, họ sẽ gặp lỗi “403 Forbidden”

Rõ ràng, bạn sẽ cần sửa đổi cấu hình ở trên để phù hợp với các thư mục mà bạn muốn chặn

Sử dụng PHP

Nếu bạn không muốn thay đổi giá trị cấu hình máy chủ, thì bạn có thể sử dụng phương pháp chỉ dành cho PHP. Điều này liên quan đến việc xác định một hằng số trong tập lệnh chính của bạn

Thí dụ

//Example CONSTANT called SITE_URL.
define('SITE_URL', 'http://test.com');

Sau đó, ở đầu các tệp bao gồm của bạn, bạn có thể kiểm tra xem hằng số ở trên đã được xác định chưa

//Check if CONSTANT called SITE_URL is defined.
if(!defined('SITE_URL')) {
    //Send 403 Forbidden response.
    header($_SERVER["SERVER_PROTOCOL"] . " 403 Forbidden");
    //Kill the script.
    exit;
}

Nếu hằng số chưa được xác định, thì chúng tôi giả định rằng tệp bao gồm đang được truy cập trực tiếp qua URL. Do đó, chúng tôi gửi phản hồi 403 Forbidden và tắt tập lệnh

Hạn chế của phương pháp này là bạn sẽ phải thêm kiểm tra ở trên vào đầu tất cả các tệp bao gồm của mình. Bạn cũng sẽ phải đảm bảo rằng hằng số tồn tại trong tập lệnh PHP có thể truy cập công khai

Đặt các tệp bên ngoài thư mục gốc của tài liệu

Bạn cũng có thể đặt các tệp PHP của mình bên ngoài gốc tài liệu của máy chủ web của bạn. Điều này sẽ khiến chúng không thể truy cập được qua URL HTTP

Gốc tài liệu thường được gọi là public_html, www hoặc html, tùy thuộc vào thiết lập của bạn

Ví dụ: gốc tài liệu của bạn có thể được đặt tại. /var/www/html/

Thư mục bao gồm của bạn có thể được đặt tại. /var/www/bao gồm/

Nếu bạn có một tệp có tên là hàm. php trong thư mục bao gồm của bạn và bạn muốn đưa tệp đó vào chỉ mục của mình. php trong thư mục gốc của tài liệu có thể truy cập công khai, bạn có thể làm điều này

Làm cách nào để ngăn truy cập trực tiếp vào các tệp PHP?

// Trong trang cơ sở (truy cập trực tiếp). xác định ('_DEFVAR', 1); . đã xác định('_DEFVAR') hoặc thoát('Quyền truy cập bị hạn chế'); Logic. Nếu hằng số không được xác định, thì quá trình thực thi không bắt đầu từ trang cơ sở và PHP sẽ ngừng thực thi.

Làm cách nào để hạn chế quyền truy cập vào một thư mục trong PHP?

Theo mặc định, PHP không hạn chế các tệp và thư mục mà tập lệnh PHP của bạn có thể truy cập. Để hạn chế các thư mục có thể truy cập, bạn có thể sử dụng cài đặt open_basedir của PHP .

Làm cách nào tôi có thể cấp quyền cho một tệp trong PHP?

Tóm tắt .
Sử dụng is_readable() , is_writable() , is_executable() để kiểm tra xem một tệp có tồn tại và có thể đọc, ghi và thực thi được không
Sử dụng hàm chmod() để đặt quyền cho một tệp

Làm cách nào để dừng truy cập trực tiếp vào một trang mà không cần đăng nhập bằng PHP?

Bản sao có thể có của Cách tạo chuyển hướng trong PHP? . Tháng Một 25, 2016 lúc 10. 13
Đặt biến phiên sau khi đăng nhập và hủy chúng sau khi đăng xuất. tạo một tệp php riêng để kiểm tra xem $_SESSION có được đặt không. Nếu nó được đặt thì không làm gì khác chuyển hướng đến đăng nhập. php. – tơ nhân tạo. Tháng Một 25, 2016 lúc 10. 15