diff options
Diffstat (limited to 'controller/Security.php')
-rw-r--r-- | controller/Security.php | 11 |
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 | ||