când este ales FS_METHOD = 'direct'?

12 apr. 2014, 07:02:26
Vizualizări: 15.3K
Voturi: 8

Conform Codului WordPress, FS_METHOD = 'direct' este ales când este potrivit.

(Preferință principală) "direct" forțează utilizarea cererilor Direct File I/O din interiorul PHP, acest lucru poate deschide vulnerabilități de securitate pe gazde prost configurate. Această metodă este aleasă automat când este potrivită.

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

Care sunt criteriile pentru a fi considerat potrivit?

0
Toate răspunsurile la întrebare 1
1

Iată codul din wp-admin/includes/file.php:

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

    // Dacă directorul nu există (wp-content/languages) atunci folosește directorul părinte
    // deoarece îl vom crea.
    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);
    }
}

Testul pare să fie

  1. Putem crea un fișier temporar în directorul wp-content sau wp-content/languages?
  2. Acel fișier aparține utilizatorului Unix curent, adică nu există setuid pe wp-content?

Acest verificare se execută doar dacă nu am specificat un FS_METHOD noi înșine și dacă apelurile necesare de sistem de fișiere pentru a verifica #2 sunt disponibile. Fișierul temporar este curățat după aceea.

17 apr. 2014 01:35:21
Comentarii

WordPress-ul meu creează multe fișiere temporare de scriere, este posibil să opresc acest lucru?

D.JCode D.JCode
15 feb. 2021 00:14:27