Hướng dẫn php set root directory - php đặt thư mục gốc

NO___Trans___PRE___5 và NO___TRANS___PRE___6 Cả hai đều giống nhau và NO___Trans___Pre___6 đi kèm với Php 5.3

Nội dung chính

  • Để bao gồm nội dung hoạt động, như tập lệnh và thực thi, trong các thư mục tài liệu máy chủ web đôi khi được coi là một thực tiễn không an toàn. Nếu, do một số lỗi cấu hình, các tập lệnh không được thực thi mà được hiển thị dưới dạng tài liệu HTML thông thường, điều này có thể dẫn đến rò rỉ tài sản trí tuệ hoặc thông tin bảo mật như mật khẩu. Do đó, nhiều sysadmin sẽ thích thiết lập một cấu trúc thư mục khác cho các tập lệnh chỉ có thể truy cập thông qua CGI PHP, và do đó luôn được giải thích và không được hiển thị như vậy.
  • NO___Trans___PRE___19 Mở rộng xảy ra bất kể cài đặt NO___TRANS___PRE___18, do đó bạn có thể kiểm soát truy cập thư mục gốc và thư mục người dùng một cách riêng biệt.
  • Làm thế nào tôi có thể truy cập Root trong PHP?
  • Tìm đường dẫn thư mục gốc trong PHP.
  • Chi tiết kỹ thuật
  • Làm cách nào để thay đổi đường dẫn gốc trong PHP?
  • Làm thế nào tôi có thể nhận được đường dẫn thư mục gốc trong PHP?
  • Làm thế nào tôi có thể truy cập Root trong PHP?
  • Tìm đường dẫn thư mục gốc trong PHP.

Chi tiết kỹ thuật

URL: http://localhost/test/a.php

DIR: --NIX
     /var/www/test/a.php
     --WIN
     D:\lamp\www\test\a.php

// a.php's inside

Làm cách nào để thay đổi đường dẫn gốc trong PHP?

Làm thế nào tôi có thể nhận được đường dẫn thư mục gốc trong PHP?

./
  config.php
  index.php
  header.php
  footer.php
  /lib
    foo.php
  /tmp
    bar.php

Làm cách nào để nhận được thư mục gốc?

Chúng được sử dụng để chỉ ra rằng "đường dẫn của tệp nơi chúng gọi là".

Cung cấp cho bạn cái này trên Linux: no___trans___pre___8

Vì vậy, nếu bạn cần một tham số cấu hình trong tất cả các dự án của mình, chỉ cần xác định nó trong config.php của bạn và sử dụng nó nơi bạn muốn cả hai tên tệp sẽ được bao gồm.

./config.php no___trans___pre___9

// config.php

./index.php no___trans___pre___10

// index.php and the very first line!

// some html stuff
// ...

// some more html stuff
// ...

tức là sử dụng nó trong no___trans___pre___11

./tmp/bar.php no___trans___pre___12

./config.php no___trans___pre___9

./index.php no___trans___pre___10

tức là sử dụng nó trong no___trans___pre___11

// config.php
define("ROOT", __DIR__ ."/");
define("HTTP", ($_SERVER["SERVER_NAME"] == "localhost")
   ? "http://localhost/your_work_folder/"
   : "http://your_site_name.com/"
);

// banner.php
Hướng dẫn php set root directory - php đặt thư mục gốc

./tmp/bar.php no___trans___pre___12

CẬP NHẬT

Vì vậy, chúng tôi sử dụng điều này cho NO___TRANS___PRE___13 để bao gồm NO___TRANS___PRE___14 và NO___TRANS___PRE___14 đang chờ trong no___trans___pre___16;

Vì vậy, bạn nên bao gồm Config.php trước tiên đến nơi bạn cần.
// Change root directory
chroot("/path/to/chroot/");

Tôi nghĩ, đây là cơ bản khi cần thiết ...
echo getcwd();
?>

Result:

Tham khảo thư mục PHP



NO___Trans___PRE___19 Mở rộng xảy ra bất kể cài đặt NO___TRANS___PRE___18, do đó bạn có thể kiểm soát truy cập thư mục gốc và thư mục người dùng một cách riêng biệt.

Làm thế nào tôi có thể truy cập Root trong PHP?

Tìm đường dẫn thư mục gốc trong PHP. This function requires root privileges, and is only available to GNU and BSD systems, and only when using the CLI, CGI or Embed SAPI.

Chi tiết kỹ thuật This function is not implemented on Windows platforms.


Làm thế nào tôi có thể truy cập Root trong PHP?

Tìm đường dẫn thư mục gốc trong PHP.

Sử dụng hằng số __dir__ được xác định trước để tìm đường dẫn của thư mục của tệp trong PHP ..Sử dụng hàm dirname () để tìm đường dẫn của thư mục gốc của dự án trong PHP ..
Sử dụng $ _Server ['Document_root'] để tìm thư mục gốc tài liệu của tệp trong PHP .. Làm cách nào để nhận được thư mục gốc?


Chi tiết kỹ thuật

Giá trị trở lại:Đúng về thành công. Sai về thất bại.
Phiên bản PHP:4.0,5+

Tham khảo thư mục PHP


Để bao gồm nội dung hoạt động, như tập lệnh và thực thi, trong các thư mục tài liệu máy chủ web đôi khi được coi là một thực tiễn không an toàn. Nếu, do một số lỗi cấu hình, các tập lệnh không được thực thi mà được hiển thị dưới dạng tài liệu HTML thông thường, điều này có thể dẫn đến rò rỉ tài sản trí tuệ hoặc thông tin bảo mật như mật khẩu. Do đó, nhiều sysadmin sẽ thích thiết lập một cấu trúc thư mục khác cho các tập lệnh chỉ có thể truy cập thông qua CGI PHP, và do đó luôn được giải thích và không được hiển thị như vậy.

Ngoài ra, nếu phương thức đảm bảo các yêu cầu không được chuyển hướng, như được mô tả trong phần trước, không có sẵn, thì cần phải thiết lập một tập lệnh doc_root khác với root tài liệu web.

Bạn có thể đặt root tài liệu tập lệnh PHP theo lệnh cấu hình doc_root trong tệp cấu hình hoặc bạn có thể đặt biến môi trường PHP_Document_root. Nếu nó được đặt, phiên bản CGI của PHP sẽ luôn xây dựng tên tệp để mở bằng số không ___trans___pre___18 này và thông tin đường dẫn trong yêu cầu, do đó bạn có thể chắc chắn không có tập lệnh nào được thực thi bên ngoài thư mục này (ngoại trừ NO___Trans___Pre___19 bên dưới).

Một tùy chọn khác có thể sử dụng ở đây là user_dir. Khi user_dir không được đặt, chỉ có điều kiểm soát tên tệp đã mở là no___trans___pre___18. Mở một URL như http://my.host/~user/doc.php không dẫn đến việc mở tệp trong thư mục nhà của người dùng, nhưng một tệp có tên ~ user/doc.php trong doc_root (có, tên thư mục bắt đầu bằng một tilde [no___trans___pre___21]).

Nếu user_dir được đặt thành public_php, một yêu cầu như http://my.host/~user/doc.php sẽ mở một tệp có tên là doc.php trong thư mục có tên public_php theo thư mục nhà của người dùng. Nếu nhà của người dùng là/home/người dùng, tệp được thực thi là /home/user/public_php/doc.php.

NO___Trans___PRE___19 Mở rộng xảy ra bất kể cài đặt NO___TRANS___PRE___18, do đó bạn có thể kiểm soát truy cập thư mục gốc và thư mục người dùng một cách riêng biệt.

Không có người dùng đóng góp ghi chú cho trang này.

Làm cách nào để thay đổi đường dẫn gốc trong PHP?

Hàm chroot () thay đổi thư mục gốc của quy trình hiện tại thành thư mục và thay đổi thư mục làm việc hiện tại thành "/".chroot() function changes the root directory of the current process to directory, and changes the current working directory to "/".chroot() function changes the root directory of the current process to directory, and changes the current working directory to "/".

Làm thế nào tôi có thể nhận được đường dẫn thư mục gốc trong PHP?

Để có được đường dẫn thư mục gốc, bạn có thể sử dụng _dir_ hoặc dirname ().echo dirname (__ file__);Cả hai cú pháp trên sẽ trả về cùng một kết quả.use _DIR_ or dirname(). echo dirname(__FILE__); Both the above syntaxes will return the same result.use _DIR_ or dirname(). echo dirname(__FILE__); Both the above syntaxes will return the same result.

Làm thế nào tôi có thể truy cập Root trong PHP?

Tìm đường dẫn thư mục gốc trong PHP...

Sử dụng hằng số __dir__ được xác định trước để tìm đường dẫn của thư mục của tệp trong PHP ..

Sử dụng hàm dirname () để tìm đường dẫn của thư mục gốc của dự án trong PHP ..

Sử dụng $ _Server ['Document_root'] để tìm thư mục gốc tài liệu của tệp trong PHP ..

Làm cách nào để nhận được thư mục gốc?

Chi tiết kỹ thuật

Giá trị trở lại:

Đúng về thành công. Sai về thất bại.