script hébergement de fichier

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 : script hébergement de fichier

par ToTheDeath » 06 juin 2008, 11:17

Je sais mais bon ca c'est pas très grave étant donné que je repasse bientôt sous linux, je bloquerai juste les fichier php et html par la suite et c'est un petit site.

Je vet voir pour les deux fonction, je te tiens au courant dans la journée

A bientôt
Cordialement,
ToTheDeath

par guilt92 » 06 juin 2008, 11:12

Pourquoi ne pas faire ce que j'ai dit dans le post précédent, à savoir parser le nom de fichier transmis par l'utilisateur pour récupérer l'extension du fichier (qui pourra être "n'importe quoi") et l'ajouter derrière ton nouveau nom de fichier...

regarde du coté des fonctions substr() et strrchr() avec lesquelles, en traitant sur $_FILES['fichier']['tmp_name'], tu peux créer une variable $extension qui sera l'extension du fichier uploadé que tu pourras donc ajouter a la fin du nouveau nom...

Soit dit en passant c'est une très mauvaise idée de ne pas filtrer les fichiers que les utilisateurs peuvent uploadé, tu t'exposes à l'upload d'exécutables qui peuvent etre très nocifs pour ton serveur....

par ToTheDeath » 06 juin 2008, 10:59

Mais sauf que si je met la variante extension il vas faloir que je détermine toutes les extensions qui existe

En fait le truc c'est que moi je veut que les gens héberge n'importe quel fichier sur un dossier de mon ordinateur et pas seulement images mais vraiment tous.

Si tu as un moyen,

J'avais pensé a ca si c'étais possible mais je ne croit pas
 
if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$nom_fichier,$_FILES['fichier']['name'])) // possible ???? 
Je test ce soir et si tu as une autre méthode

Merci de m'aider

par guilt92 » 06 juin 2008, 10:50

Bah ca me parait normal, tu défini $nom_fichier = time(); hors à la fin de time() il n'y a pas d'extension...

il faut que tu récupères l extension sur $_FILES['fichier']['tmp_name'] (en parsant après le dernier . par exemple) et que tu fasses un
$nom_fichier.='.'.$extension;
(avec $extension qui vaut jpg ou gif ou ce que tu as récupéré...)

script hébergement de fichier

par ToTheDeath » 06 juin 2008, 10:36

Bonjour,

Alors voila je vous explique en gros je suis entrain de créer mon site internet et j'essaye de faire un script d'upload de fichier.

J'ai déja réussi a faire une bonne partie, tout se passe bien, le fichier est renomé et transferé dans le repertoire voulu

Mais l'extension n'est pas prit avec.

Serveur sous Vista avec WAMP

Voila mon code :
<?php 

// var 


$target = 'upload/'; // Repertoire cible 
$nom_fichier = time() //fonction time pour renomer le fichier 


?> 
<html> 
<head> 
<title>Upload d'un fichier </title> 
</head> 
<body> 
<?php 
if(!empty($_POST['posted'])) {//action de poster un fichier 





if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$nom_fichier)) {// déplace le fichier 
// Upload => mess reussit 
$url = 'www.tothedeath.fr/'.$target.''.$nom_fichier.''; // définir une URL du fichier avec la variante target+Nom du fichier 
echo '<b>Votre fichier est dès maintenant sur le serveur </b>';//Si tout est ok dire que le fichier est sur le serveur 
echo '<b>Voici le lien:</b> <input type="text" value="' . $url . '" size="60">' ;//On envoie le lien .url est en rapport avec la variante 
echo '<hr />'; 
echo '<b>Fichier :</b> ', $_FILES['fichier']['name'], '<br />';// ancien nom du fichier 
echo '<hr />'; 
echo '<br /><br />'; 



} else { 
// Affiche erreur champ vide si champ vide 
echo '<b>Vous devez remplir le formulaire</b><br /><br />'; 
} 
} 
?> 
Je vous remerci d'avance pour votre aide

Cordialement,
ToTheDeath