Upload: crypter le nom

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Upload: crypter le nom

par AB » 04 mars 2008, 15:01

$name_file = md5(time());

... Tu auras jamais un nom pareil :)
Sauf si cette fonction est utilisée simultanément dans la même seconde. Bon peut-être je chipote mais ça peut arriver.
Pour diminuer les risques ont peut utiliser microtime().
Et pour diminuer encore un peu plus les risques : microtime() concaténé à l'adresse ip

par Elie » 04 mars 2008, 06:10

// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];

Tu remplaces :)

par DarkSulfura » 04 mars 2008, 06:09

:lol:
Mais ce code que tu m'as donné, je l'insére où ?
Ou je le remplace par quelle ligne ?

EDIT: Non c'est bon, j'ai trouvé tout seul =) Merci à toi Elie

par Elie » 04 mars 2008, 04:19

$name_file = md5(time());

... Tu auras jamais un nom pareil :)

Upload: crypter le nom

par DarkSulfura » 04 mars 2008, 03:57

Bonjour,

Je me suis lancer dans l'upload de fichier/image sur mon site et tout fonctionne mais lors que le fichier est uploadé il garde le nom du fichier :s j'ai fais pas mal de recherche mais j'ai rien vu ou trouvé.

Voici mon code php:
<?php

if( isset($_POST['upload']) ) // si formulaire soumis
{
    $content_dir = 'files_uploads/'; // dossier où sera déplacé le fichier

    $tmp_file = $_FILES['fichier']['tmp_name'];

    if( !is_uploaded_file($tmp_file) )
    {
        exit("Le fichier est introuvable");
    }

    // on vérifie maintenant l'extension
    $type_file = $_FILES['fichier']['type'];

    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'png') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
    {
        exit("Le fichier n'est pas une image");
    }

    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['fichier']['name'];

    if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
    {
        exit("Impossible de copier le fichier dans $content_dir");
    }

    echo "Le fichier a bien été uploadé";
}

?>
Ensuite on voit le lien grâce à ce code:
<?php
// variables
$site = 'http://darksulfura.monespace.net/';
$file = 'files_uploads/';
?>
<a href="<?php echo $site.''.$file.''.$name_file; ?>"><?php echo $site.''.$file.''.$name_file; ?></a>
Est ceci affiche ça : http://darksulfura.monespace.net/files_ ... images.jpg
et je souhaite ça: http://darksulfura.monespace.net/fils_u ... ejçrf1.jpg

Le nom du fichier change avec des lettres aléatoire, ceci pour pas cofondre avec d'autre fichier si une personne upload un fichier nommé programme.zip et que l'autre upload avec le meme nom alors que c'est pas le même fichier il va avoir un conflit.

Donc j'espere que vous pouvez ainsi m'aider. :)