web-dev-qa-db-fra.com

Comment nettoyer le nom du fichier téléchargé à partir d'un plugin?

Il y a un problème avec le plugin WordPress Form Manager qui ne nettoie pas le nom du fichier téléchargé. Ainsi, lorsqu'un utilisateur télécharge une photo avec des caractères spéciaux dans le nom du fichier, vous ne pourrez pas l'afficher sur le front-end, par exemple.

Ma question est, comment puis-je assainir cela?

Ps: J'ai déjà tiré la question à l'auteur du plugin.

1
Daniel

J'ai trouvé un moyen. Changer les lignes sur le répertoire du plugin wordpress-form-manager -> types -> file.php (ligne 109)

De:

if($fileNameFormat == "%filename%"){
    $newFileName = $pathInfo['filename'];
}

À:

if($fileNameFormat == "%filename%"){
//Sanitize the filename (See note below)
    $remove_these = array(' ','`','"','\'','\\','/','%');
    $newFileName = str_replace($remove_these, '', $pathInfo['filename']);
//Make the filename unique
    $newFileName = time().'-'.$newFileName;                 
}
1
Daniel