Hàm chroot()
trong PHP là một hàm được sử dụng để thay đổi thư mục gốc (root directory) cho một quy trình. Khi hàm này được gọi, quy trình và tất cả các tiến trình con của nó sẽ chỉ có thể truy cập vào các tệp và thư mục nằm trong thư mục gốc mới đã được xác định. Điều này cung cấp một môi trường hạn chế cho các tiến trình, giúp bảo vệ hệ thống khỏi các nguy cơ tiềm ẩn. Hãy cùng Vietnix tham khảo thêm về hàm chroot()
trong PHP qua bài viết sau đây.
Hàm chroot() là gì?
Hàm chroot()
trong PHP thay đổi thư mục gốc của chương trình PHP sang một thư mục mới. Điều này giống như việc đặt chương trình vào một sandbox để hạn chế quyền truy cập. Hàm thay đổi thư mục làm việc hiện tại thành “/”. Hàm này chỉ khả dụng cho hệ thống GNU và BSD và chỉ khi người dùng đang sử dụng CLI, CGI hoặc Embed SAPI. Ngoài ra, hàm cũng yêu cầu quyền root để hoạt động.
Cú pháp | chroot($directory) |
Tham số | $directory : Đây là tham số bắt buộc chỉ định đường dẫn mới mà thư mục gốc phải được thay đổi. |
Giá trị trả về | Trả về True nếu thành công và False nếu thất bại. |
Lỗi và ngoại lệ | – HIện tại chroot() chưa khả dụng trên nền tảng Windows.– Ngoài GNU và BSD, hàm cũng đã có sẵn trên nền tảng SVR4. – Việc sử dụng hàm chroot() đòi hỏi quyền quản trị hệ thống và cần phải được thực hiện cẩn thận để tránh gây ra sự cố/lỗi về hệ thống. |
Mọi người cũng xem:
Ví dụ minh hoạ hàm chroot() trong PHP
<?php
// Changing root directory
chroot("/path/vietnix/chroot/");
// displaying current directory
echo getcwd();
?>
Output trả về:
<?php
// Changing root directory
$flag = chroot("path/vietnix/chroot/");
if($flag == true)
{
echo("Root Directory Has Been Successfully Changed");
}
else
{
echo("Root Directory Cannot Be Changed");
}
?>
Output như sau:
Root Directory Has Been Successfully Changed
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về hàm chroot()
trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác về PHP tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!