Changeset 46110 in spip-zone for _plugins_/forms


Ignore:
Timestamp:
Mar 29, 2011, 8:28:18 PM (10 years ago)
Author:
cedric@…
Message:

Verifier le type de fichier uploade au moment de son déplacement, même si cela a été fait en amont en principe
+ petouilles sur la verification du type et le nommage du fichier uploade dans IMG/protege/formXX/

Location:
_plugins_/forms/forms_et_tables_1_9_1
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/forms/forms_et_tables_1_9_1/inc/forms.php

    r27420 r46110  
    228228                include_spip("inc/charsets");
    229229                include_spip("inc/filtres");
    230                 if (ereg("^(.*)\.([^.]+)$", $orig, $match)) {
     230                if (preg_match(",^(.*)\.([^.]+)$,", $orig, $match)) {
    231231                        $ext = strtolower($match[2]);
    232232                        $orig = $match[1];
    233233                }
    234                 $base = ereg_replace("[^.a-zA-Z0-9_=-]+", "_",
     234                // pas de . dans le nom du fichier pour eviter .php.txt
     235                $base = preg_replace(",[^a-zA-Z0-9_=-]+,", "_",
    235236                        translitteration(supprimer_tags(basename($orig))));
    236237                $n = 0;
     
    243244
    244245        function Forms_type_fichier_autorise($nom_fichier) {
    245                 if (ereg("\.([^.]+)$", $nom_fichier, $match)) {
     246                if (preg_match(",\.([^.]+)$,", $nom_fichier, $match)) {
    246247                        $ext = addslashes(strtolower($match[1]));
    247248                        switch ($ext) {
     
    256257                                break;
    257258                        }
    258                         $query = "SELECT * FROM spip_types_documents WHERE extension='$ext' AND upload='oui'";
     259                        $query = "SELECT * FROM spip_types_documents WHERE extension='".addslashes($ext)."' AND upload='oui'";
    259260                        $result = spip_query($query);
    260261                        return (spip_num_rows($result) > 0);
     
    426427                                $source = $val['tmp_name'];
    427428                                $dest = $dir.Forms_nommer_fichier_form($val['name'], $dir);
    428                                 if (!Forms_deplacer_fichier_form($source, $dest)) {
     429                                if (!Forms_type_fichier_autorise($dest) OR !Forms_deplacer_fichier_form($source, $dest)) {
    429430                                        $erreur[$champ] = _T("forms:probleme_technique_upload");
    430431                                        $ok = false;
  • _plugins_/forms/forms_et_tables_1_9_1/plugin.xml

    r44808 r46110  
    1212        </auteur>
    1313        <version>
    14         0.304
     14        0.305
    1515        </version>
    1616        <etat>
Note: See TracChangeset for help on using the changeset viewer.