Cách chỉ định một php tùy chỉnh. cái này dành cho một Trang web (Apache2 với mod_php)Trên trang này Show
Bài viết ngắn này giải thích cách chỉ định một php tùy chỉnh. ini cho trang web chạy trên Apache2 với mod_php. Bằng cách đó, mỗi trang web có thể có php của riêng mình. ini thay vì phải sử dụng cái mặc định của máy chủ. 1 lưu ý sơ bộTôi đang sử dụng trang web www. ví dụ. com tại đây với gốc tài liệu /var/www/web1/web tại đây. 2 Nhận thông tin chi tiết về cài đặt PHP của bạnBây giờ chúng ta sẽ tạo một tệp PHP nhỏ ( thông tin. php ) trong thư mục gốc của tài liệu và gọi nó trong trình duyệt. Tệp sẽ hiển thị các chi tiết hữu ích về quá trình cài đặt PHP của chúng ta, chẳng hạn như php đã sử dụng. tệp này. ______0<?php phpinfo(); ?> Bây giờ chúng tôi gọi tệp đó trong trình duyệt (e. g. http. //www. ví dụ. com/thông tin. php ). Như bạn thấy, trang web hiện đang sử dụng /etc/php/8. 1/apache2/php. tệp này. 3 php tùy chỉnh. đây là dành cho một trang webTôi sẽ sao chép php mặc định. cái này ( /etc/php/8. 1/apache2/php. cái này trên Debian/Ubuntu; . ini /etc/php.ini trên Fedora/CentOS) vào thư mục /etc/php/web1/ và thực hiện www.example.com sử dụng php. ini từ thư mục /etc/php/web1/ . Debian/Ubuntu mkdir /etc/php/web1/ Fedora/CentOS mkdir /etc/php/web1/ (Bây giờ bạn có thể sửa đổi /var/www/web1/php. cái này theo ý thích của bạn. ) Sau đó mở cấu hình vhost cho www. ví dụ. com và thêm một dòng PHPINIDir vào đó. <VirtualHost 1.2.3.4:80> [...] PHPINIDir /etc/php/web1 PHPINIDir phải chứa thư mục nơi chứa php. ini tệp cho trang web được đặt. Khởi động lại Apache sau đó Debian/Ubuntu service apache2 restart Fedora/CentOS service httpd restart Bây giờ hãy gọi thông tin. php lại trong trình duyệt ( http. //www. ví dụ. com/thông tin. php ). Danh sách các mô-đun PHPCác mô-đun được đặt tại thư mục $ ls6 và có thể dễ dàng thay đổi thư mục hiện tại của chúng tôi thành /etc/php. d/ bằng cách sử dụng lệnh cd sau cd /etc/php.d/ Lý do tại sao chúng tôi thay đổi thư mục để loại bỏ các mô-đun là các mô-đun được đặt tên hoàn toàn khác trong thư mục gốc. Bây giờ, liệt kê các mô-đun có sẵn bằng lệnh đã cho $ lsKiểm tra các mô-đun PHP Ví dụ: hãy xóa mô-đun curl bằng cách sử dụng lệnh đã cho <?php phpinfo(); ?>1 2. Vô hiệu hóa thực thi mã PHP từ xaTrong hầu hết các trường hợp, các kết nối từ xa không thể tin cậy được. Bằng cách vô hiệu hóa quyền truy cập vào trình bao bọc fopen, họ chỉ có thể truy cập các tệp cục bộ. Để tắt fopen, chúng ta cần mở tệp cấu hình PHP bằng cách sử dụng lệnh đã cho <?php phpinfo(); ?>2 Bây giờ, hãy sử dụng $ ls7 và nhập $ ls8 sẽ đưa chúng tôi đến các dòng cụ thể từ đó chúng tôi sẽ tắt các tùy chọn đó <?php phpinfo(); ?>5Tắt thực thi mã PHP từ xa Khi bạn đã hoàn tất các thay đổi, hãy lưu tệp cấu hình trước $ ls9 và nhấn Enter 3. Vô hiệu hóa rò rỉ thông tin PHPKhi không bị tắt, thế giới có thể dễ dàng xác định phiên bản PHP nào hiện đang được máy chủ web của chúng tôi sử dụng. Điều này nghe có vẻ không phải là vấn đề lớn nhưng để kẻ tấn công biết phiên bản chính xác có thể nguy hiểm <?php phpinfo(); ?>2 Bây giờ, thay đổi mặc định thành <?php phpinfo(); ?>10 <?php phpinfo(); ?>9Tắt rò rỉ thông tin PHP 4. Vô hiệu hóa nhật ký lỗi PHPTheo mặc định, mọi lỗi từ máy chủ web của chúng tôi đều hiển thị với khách truy cập, bao gồm cả những kẻ tấn công. Để đảm bảo rằng không có lỗi nào hiển thị với bất kỳ ai, chúng tôi phải thực hiện các thay đổi trong tệp cấu hình PHP của mình <?php phpinfo(); ?>2 Và thay đổi cài đặt mặc định hiển thị nhật ký lỗi thành <?php phpinfo(); ?>10 mkdir /etc/php/web1/2Tắt nhật ký lỗi PHP Nhưng nếu bạn là nhà phát triển và cần có nhật ký lỗi để khắc phục các sự cố phát triển thì sao? Chúng tôi chỉ cần kích hoạt log_errors và cung cấp đường dẫn đến error_log nơi các tệp nhật ký của chúng tôi sẽ được lưu trữ cd /etc/php.d/0Bật nhật ký lỗi trong PHP 5. Kiểm soát tài nguyên PHPTheo chúng tôi, quản lý tài nguyên là phần quan trọng nhất khi bảo mật PHP. Ở đây, chúng tôi sẽ phân bổ một lượng thời gian thực thi, thời gian đầu vào và giới hạn bộ nhớ cố định, vì vậy nếu bằng cách nào đó, tập lệnh của chúng tôi bị xâm phạm, quá trình thực thi sẽ bị dừng sau một thời gian nhất định Chúng tôi đã chọn 25 giây cho thời gian thực hiện và đầu vào và 30 MB giới hạn bộ nhớ. Chắc chắn bạn có thể tùy chỉnh nó theo nhu cầu của bạn cd /etc/php.d/1Kiểm soát tài nguyên PHP 6. Hạn chế quyền truy cập tệp PHPĐể hạn chế quyền truy cập tệp, chúng tôi sẽ bật <?php phpinfo(); ?>12 để đảm bảo rằng PHP chỉ có thể bao gồm các tệp từ các thư mục được liệt kê của chúng tôi Quan trọng. Điều này sẽ chặn danh sách tất cả các thư mục khác và yêu cầu chúng tôi thêm các thư mục quan trọng theo cách thủ công, bao gồm cả việc thêm các tệp tạm thời và thư mục phiên cd /etc/php.d/2Kiểm soát quyền truy cập tệp PHP 7. Định cấu hình tải lên tệp PHPNếu ứng dụng của bạn không yêu cầu tải tệp lên từ phía người dùng, bạn nên tắt tính năng tải tệp lên. Điều này ngăn những kẻ tấn công tải lên các tập lệnh nguy hiểm mà cuối cùng có thể làm hỏng toàn bộ ứng dụng cd /etc/php.d/3 Nhưng nếu ứng dụng của bạn được thiết kế để lấy tệp từ phía người dùng thì sao? cd /etc/php.d/4Kiểm soát tải lên tệp PHP Trong PHP, theo mặc định, các tệp tạm thời được đặt trong một thư mục mà tất cả người dùng hệ thống có thể ghi vào. Vị trí mặc định phải được chuyển sang một nơi an toàn hơn và đảm bảo rằng nó không nằm trong thư mục gốc của web Vì chúng tôi đã sử dụng open_basedir, chúng tôi sẽ sử dụng cùng một vị trí như chúng tôi đã đưa vào danh sách trắng cd /etc/php.d/5 8. Vô hiệu hóa các chức năng PHP nguy hiểmPHP có nhiều chức năng khác nhau được bật theo mặc định và có thể hữu ích cho mục đích phát triển. Tuy nhiên, nhiều chức năng có thể bị tin tặc sử dụng để khai thác máy chủ web của bạn và việc vô hiệu hóa chúng sẽ tạo thêm một lớp bảo mật Chúng tôi có một bộ chức năng bị vô hiệu hóa và đảm bảo kiểm tra chéo chúng trước khi thay đổi tệp cấu hình cd /etc/php.d/6Tắt các hàm PHP không mong muốn 9. Thay đổi thư mục bộ đệm SOAPKhi chúng tôi thay đổi phiên và thư mục tạm thời mặc định, điều tương tự cũng áp dụng cho bộ đệm SOAP vì nó không nên được lưu vào thư mục mặc định. Hãy chắc chắn rằng nó được lưu vào một nơi an toàn cd /etc/php.d/7Thay đổi thư mục bộ đệm SOAP 10. Kiểm soát kích thước POST PHPBằng cách kiểm soát kích thước POST, chúng tôi có thể bảo mật máy chủ của mình khỏi tin tặc đang cố gắng làm tắc nghẽn tài nguyên máy chủ bằng cách gửi các tệp lớn. Điều này giúp chúng tôi tránh khỏi sự cố máy chủ không mong muốn và thời gian phản hồi chậm cd /etc/php.d/8Giới hạn kích thước POST PHP 11. Bảo vệ cấu hình PHPTrong khi xóa các tệp không cần thiết, chúng tôi thường xóa một số tệp quan trọng hoặc thậm chí cả thư mục. Vì vậy, chúng tôi phải tinh chỉnh cài đặt theo cách mà ngay cả người dùng root cũng không thể xóa chúng. Để tạo tệp và thư mục, chúng tôi sẽ sử dụng chattr với các cờ khác nhau Khi bạn sử dụng lệnh đã cho, bạn không thể sửa đổi hoặc xóa một tệp cụ thể nữa cd /etc/php.d/9 Trong khi cố gắng xóa một tệp bất biến, nó sẽ hiển thị lỗi "Thao tác không được phép" $ ls0Lỗi Hoạt động không được phép Nhưng nếu bạn muốn tiếp tục viết các tệp đó trong khi làm cho chúng không thay đổi thì sao? $ ls1 Có thể có một số trường hợp bạn không cần tệp cấu hình cũ nữa và trong trường hợp đó, chúng tôi phải hủy đặt thuộc tính $ ls2 Tương tự, nếu bạn đã sử dụng thuộc tính <?php phpinfo(); ?>13 trong quá trình tạo tệp không thay đổi, bạn có thể đảo ngược nó bằng cách sử dụng lệnh đã cho $ ls3 12. Sử dụng chứng chỉ SSL cho HTTPSNgày nay, mọi trình duyệt hiện đại như Google Chrome, Firefox, Opera và các trình duyệt khác đều khuyến nghị sử dụng HTTPS cho máy chủ web. Vì HTTPS cung cấp kênh truy cập được mã hóa và bảo mật cho các trang web không đáng tin cậy, chúng tôi có thể cung cấp trải nghiệm đáng tin cậy cho người dùng của mình Bằng cách thêm HTTPS, chúng tôi có thể được bảo vệ khỏi các cuộc tấn công XSS, bao gồm cả việc ngăn chặn tin tặc đọc dữ liệu được vận chuyển bằng mã Để kích hoạt HTTPS, chúng tôi sẽ cài đặt và sử dụng Chứng chỉ SSL Let's Encrypt miễn phí trên máy chủ $ ls4 13. Cập nhật PHP thường xuyênVì nó là một ngôn ngữ mã nguồn mở, nên nó được vá gần như hàng ngày. Nó có vẻ không phải là một bước quan trọng nhưng nó có thể cứu bạn khỏi các lỗ hổng lớn. Vì vậy, hãy đảm bảo luôn cập nhật các gói PHP của bạn, điều này sẽ giúp bạn tránh được nhiều lỗ hổng có thể xảy ra $ ls5 Đây là ý kiến của chúng tôi về cách bạn có thể dễ dàng nâng cao tính bảo mật của PHP trong các hệ thống Linux. Trong suốt hướng dẫn này, chúng tôi đã cố gắng làm mọi thứ đơn giản nhất có thể và nếu bạn vẫn còn thắc mắc, vui lòng cho chúng tôi biết trong phần nhận xét Tệp PHP Linux của tôi ở đâu?Vị trí mặc định cho php. tập tin này là. Ubuntu 16. 04. /etc/php/7. 0/apache2 . CentOS 7. /etc/php.
Đường dẫn PHP của tôi ở đâu?ini thường nằm trong /etc/php/8. 1/apache2/php .
Tệp ini PHP trong Terminal ở đâu?Câu trả lời của bạn . Bạn có thể nhận được một phpinfo() đầy đủ bằng cách sử dụng. php -i Và, trong đó, có php. đây là tập tin được sử dụng. $ php -i. grep 'Tệp cấu hình' Tệp cấu hình (php. ini) Đường dẫn => /etc Tệp cấu hình đã tải => /etc/php. cái này Trên Windows, hãy sử dụng tìm thay thế. php -i. tìm/a"tệp cấu hình" Hy vọng điều này hữu ích PHP này ở đâu trên php8?Vị trí php của bạn. ini nằm ở “ /etc/php/8. 0/apache2/php. ini ” và bạn có thể dễ dàng kiểm tra điều này trong phần “Tệp cấu hình đã tải” cũng trong cửa sổ này. |