Skip to content
Extraits de code Groupes Projets
Valider b9534e20 rédigé par Fil's avatar Fil
Parcourir les fichiers

preparation UPLOAD_DIRECT

parent bf62a430
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -52,23 +52,21 @@ function effacer_repertoire_temporaire($nom) { ...@@ -52,23 +52,21 @@ function effacer_repertoire_temporaire($nom) {
function copier_document($ext, $orig, $source) { function copier_document($ext, $orig, $source) {
$dir = creer_repertoire_documents($ext); $dir = creer_repertoire_documents($ext);
$dest = $dir . $dest = ereg_replace("[^.a-zA-Z0-9_=-]+", "_",
ereg_replace("[^.a-zA-Z0-9_=-]+", "_",
translitteration(ereg_replace("\.([^.]+)$", "", translitteration(ereg_replace("\.([^.]+)$", "",
ereg_replace("<[^>]*>", '', basename($orig))))); ereg_replace("<[^>]*>", '', basename($orig)))));
// Si le document "source" est deja au bon endroit, ne rien faire // Si le document "source" est deja au bon endroit, ne rien faire
if ($source == ($dest . '.' . $ext)) if ($source == ($dir . $dest . '.' . $ext))
return $source; return $source;
// sinon tourner jusqu'a trouver un numero correct // sinon tourner jusqu'a trouver un numero correct
$n = 0; $n = 0;
while (@file_exists($newFile = $dest.($n++ ? '-'.$n : '').'.'.$ext)); while (@file_exists($dir.($newFile = $dest.($n++ ? '-'.$n : '').'.'.$ext)));
$newFile = preg_replace('/[.]+/', '.', $newFile); $newFile = preg_replace('/[.]+/', '.', $newFile);
if ($r = deplacer_fichier_upload($source, $dir.$newFile))
if ($r = deplacer_fichier_upload($source, $newFile)) return $dir.$newFile;
return $newFile;
} }
// //
...@@ -77,6 +75,7 @@ function copier_document($ext, $orig, $source) { ...@@ -77,6 +75,7 @@ function copier_document($ext, $orig, $source) {
function deplacer_fichier_upload($source, $dest) { function deplacer_fichier_upload($source, $dest) {
// Securite // Securite
## !! interdit pour le moment d'uploader depuis l'espace prive (UPLOAD_DIRECT)
if (strstr($dest, "..")) { if (strstr($dest, "..")) {
spip_log("stop deplacer_fichier_upload: '$dest'"); spip_log("stop deplacer_fichier_upload: '$dest'");
exit; exit;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter