summaryrefslogtreecommitdiff
path: root/controller/Security.php
diff options
context:
space:
mode:
Diffstat (limited to 'controller/Security.php')
-rw-r--r--controller/Security.php11
1 files changed, 7 insertions, 4 deletions
diff --git a/controller/Security.php b/controller/Security.php
index 0ab4c02..4bdba08 100644
--- a/controller/Security.php
+++ b/controller/Security.php
@@ -56,16 +56,19 @@ class Security
56 // filtrer / et \ semble inutile 56 // filtrer / et \ semble inutile
57 57
58 $cibles = [' ', '/', '\\', ':', '*', '?', '<', '>', '|', '=', "'", '`', '"', '%22', '#']; 58 $cibles = [' ', '/', '\\', ':', '*', '?', '<', '>', '|', '=', "'", '`', '"', '%22', '#'];
59 $chaine = str_replace($cibles, '_', $chaine); 59 $chaine = str_replace($cibles, '_', $chaine); // nécéssite l'extension mbstring
60 $chaine = mb_strtolower($chaine); 60 $chaine = mb_strtolower($chaine);
61 return($chaine); 61 return($chaine);
62 62
63 // les problèmes avec \ persistent !! 63 // les problèmes avec \ persistent !!
64 // => javascript 64 // => javascript
65 // malheureusement document.getElementById('upload').files[0].name = chaine; ne marche pas! interdit! 65 // malheureusement document.getElementById('upload').files[0].name = chaine; ne marche pas! interdit!
66 // solution? 66 // javascript ne doit pas pouvoir accéder au système de fichiers
67 // créer une copie du fichier et l'envoyer à la place 67 // solutions:
68 // envoyer le nom souhaité au serveur en AJAX puis renommer avec PHP 68 // - au lieu de fournir une chaine (le chemin du fichier), donner un objet à files[0].name
69 // - créer une copie du fichier et l'envoyer à la place
70 // - envoyer le fichier en AJAX
71 // - envoyer le nom du fichier à part puis renommer en PHP
69 } 72 }
70} 73}
71 74