ms-files.php
contiene el siguiente fragmento de código:
$file = rtrim( BLOGUPLOADDIR, '/' ) . '/' . str_replace( '..', '', $_GET[ 'file' ] );
if ( !is_file( $file ) ) {
status_header( 404 );
die( '404 — File not found.' );
}
Este código determina si el archivo se puede encontrar o no. Sin embargo, hace algo que me parece ... extraño. Elimina todos los puntos dobles ("..") de la cadena. Normalmente, esto no importa, pero hemos tenido usuarios que han subido archivos con dos períodos seguidos (suspiro), lo que hace que esta parte del código informe incorrectamente el código 404 (no se encuentra).
Estoy tentado a eliminar la extraña naturaleza de este código que elimina el doble período, pero me temo que, por error, romperé algo más. ¿Por qué está presente esta funcionalidad como está codificada?
Gracias! :)
Editar: para ser claros, parece que los puntos dobles NO son inválidos en Wordpress, pero no pueden ser atendidos por este bit de código ... Entonces, no son inválidos, pero cuando se accede a través de este mecanismo, 404 se reporta incorrectamente.