khi FS_METHOD = 'direct' được chọn?


7

Theo các mã Wordpress FS_METHOD = 'direct'được chọn khi thích hợp .

(Ưu tiên chính) "trực tiếp" buộc nó sử dụng các yêu cầu I / O tệp trực tiếp từ bên trong PHP, điều này gây khó khăn cho việc mở các vấn đề bảo mật trên các máy chủ được cấu hình kém, Điều này được chọn tự động khi thích hợp.

http://codex.wordpress.org/Editing_wp-config.php#WordPress_UpTHER_Constants

Các tiêu chí để phù hợp là gì?

Câu trả lời:


5

Đây là mã từ wp-admin / gồm / file.php :

if ( ! $method && function_exists('getmyuid') && function_exists('fileowner') ){
    if ( !$context )
        $context = WP_CONTENT_DIR;

    // If the directory doesn't exist (wp-content/languages) then use the parent directory
    // as we'll create it.
    if ( WP_LANG_DIR == $context && ! is_dir( $context ) )
        $context = dirname( $context );

    $context = trailingslashit($context);
    $temp_file_name = $context . 'temp-write-test-' . time();
    $temp_handle = @fopen($temp_file_name, 'w');
    if ( $temp_handle ) {
        if ( getmyuid() == @fileowner($temp_file_name) )
            $method = 'direct';
        @fclose($temp_handle);
        @unlink($temp_file_name);
    }
}

Bài kiểm tra dường như là

  1. Chúng tôi có thể tạo một tệp tạm thời trong thư mục wp-content hoặc wp-content / Languages ​​không?
  2. Tập tin đó có thuộc về người dùng Unix hiện tại không, tức là không có setuid trên nội dung wp?

Nó chỉ thực hiện kiểm tra này nếu chúng tôi không tự chỉ định một FS_METHOD và nếu các cuộc gọi hệ thống tập tin cần thiết để kiểm tra # 2 có sẵn. Các tập tin tạm thời được làm sạch sau đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.