wenn FS_METHOD = 'direkt' gewählt wird?

7

Entsprechend den Wordpress-Codes FS_METHOD = 'direct'wird gegebenenfalls gewählt .

(Primäre Voreinstellung) "direkt" zwingt es, direkte Datei-E / A-Anforderungen aus PHP heraus zu verwenden. Dies ist mit Sicherheitsproblemen auf schlecht konfigurierten Hosts behaftet. Dies wird bei Bedarf automatisch ausgewählt.

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

Was sind die Kriterien, um angemessen zu sein?

Eisensand
quelle

Antworten:

5

Hier ist der Code aus wp-admin / includes / 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);
    }
}

Der Test scheint zu sein

  1. Können wir eine temporäre Datei im Verzeichnis wp-content oder wp-content / Languages ​​erstellen?
  2. Gehört diese Datei dem aktuellen Unix-Benutzer, dh es gibt keine Setuid für WP-Inhalte?

Diese Prüfung wird nur ausgeführt, wenn wir selbst keinen FS_METHOD angegeben haben und die erforderlichen Dateisystemaufrufe zur Prüfung Nr. 2 verfügbar sind. Die temporäre Datei wird anschließend bereinigt.

Rup
quelle