begin process at 2008 07 25 12:56:35
1 216 220 membres
184 nouveaux aujourd'hui
14 180 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

INSTALLATION D'UN UPLOAD SÉCURISER (PREMIERE CRÉA)


Information sur la source

Catégorie :Divers Classé sous : upload, sécurisé Niveau : Débutant Date de création : 16/12/2006 Date de mise à jour : 18/12/2006 21:57:13 Vu / téléchargé: 6 532 / 1 493

Note :
4,33 / 10 - par 3 personnes
4,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

Ce code une install d'un upload securisé
Choix pendant l'installation de divers fonctions comme le nom du site, la banniere hauteur et largeur (si existante), et suppression des fichiers d'install (un pti plus)
(ne fonctionne pas sous free a cause du compteur de fichier sur le ftp [ftp_connect()])

Conclusion

J'ai piocher un peu partout pour les fonctions n'esitez pas à critiquer la source (sans vulgariser la chose et sans "sa sert a rien ta source " expliquez pourquoi avant  ... Merci)
Donc l'upload aura bientôt d'autre fonctions (apres noël et oui vais faire du shopping en femme ^^ )
Y aura upload d'un php avec un htaccess pour securiser puis htm pareil le meme fonctionnemant avec un htaccess.
Aussi choix pour les utilisateurs de site free pour desactiver l'option de comptage des fichiers sur le ftp

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

18 décembre 2006 21:57:13 :
Mise à jours du maxlenght dans l'install2.php pour la racine ftp.
  • signaler à un administrateur
    Commentaire de odric88 le 16/12/2006 19:59:13

    Bonjour à tous ceux qui se pencherons sur ma source ^^

    N'hesitez pas a faire vos commentaires ils serons les bienvenues :)

  • signaler à un administrateur
    Commentaire de cedriclomb le 17/12/2006 09:42:02

    Salut
    J'ai pas encore regardé ta sourc, mais pourquoi tu compterais pas les fichiers pour free de maniere plus classique avec une fonction recurssive sur fread avec un compteur ?

  • signaler à un administrateur
    Commentaire de GNVA Dfx le 17/12/2006 15:10:49

    Je n'ai pas regardé la source mais je pense :

    Pas besoin des fonctions ftp_* pour une gestion d'un contenu d'un disque local, les nombres de fichiers, l'upload, la modification, la gestion complète en faite.

    Mais sinon je pense que c'est au point et tous automatisé, bravo quand même

  • signaler à un administrateur
    Commentaire de Mich93 le 18/12/2006 14:43:33

    Bonjour,

    Je ne sais pas quoi remplir au champ texte suivant :
    Veuillez indiquer le chemin ftp en partant du point zero vers l'upload (Avec le slash à la fin) :
    mon chemin ftp à l'air trop long ?! le champ bloc à un certain nombre de caracteres
    peut etre pouvez vous m'indiquer ou je peut trouver ce chemin
    Merci

    Michael

  • signaler à un administrateur
    Commentaire de odric88 le 18/12/2006 21:33:26

    Bonjour Mich93,

    Le chemin ftp se trouve par exemple quand vous vous connecter a votre FTP il y à la racine qui se trouve a "/" puis un autre dossier par exemple qui se nomme upload et qui contient cette upload donc le chemin sera "/upload/" sans les (")
    En effet c'est limiter je vais arranger cela ce soir :)

    Merci de m'avoir dit ce petit probleme de longueur de caractere

  • signaler à un administrateur
    Commentaire de Mich93 le 19/12/2006 08:45:00

    Merci pour votre réponse.

    Maintenant j'ai un message d'erreur une fois l'installation terminée et quand je clique sur "allez à votre upload":
    Fatal error: Call to undefined function: ftp_connect() in index.php on line 7

    je débute, mais ais je vraiment besoin de l'indiquer ? ;)

    Michael

  • signaler à un administrateur
    Commentaire de odric88 le 19/12/2006 11:18:15

    Si vous êtes chez free ou un hebergeur gratuit cela ne m'etonne pas.

    Editez votre index.php et supprimer les lignes suivantes:

    (ligne 4 à 15)

    $ftp_server = "server-ou-ip";
    $ftp_user_name = "login";
    $ftp_user_pass = "password";
    $conn_id = ftp_connect($ftp_server);
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
    $rep = "repertoire-racine";

    $dossier = opendir( $rep );

    $nbr_file = count(ftp_nlist($conn_id, $rep));

    $nombre = $nbr_file;

    Puis:

    ligne 69 à 73
    supprimer:

    <p align="center">
    <br />
    <br />
    Il y <? echo "$nombre"; ?> fichiers sur le ftp<br />
    </p>

    Voila vous n'aurez pas de compteur pour le moment attendez la prochaine version ;)

  • signaler à un administrateur
    Commentaire de kankrelune le 19/12/2006 11:59:19

    Salut... .. .

    @ Mich93... c'est normal l'extension ftp ne doit pas être installée sur ton serveur... .. .

    Alors sinon... pas mal de chose à dire... .. .

    Tout d'abord tu code avec register_globals activé ce qui est une catastrophe au niveau instanciation des variables... ça provoque des bon trous de sécurité et ne marche pas sur la moitié des serveurs (notament le mien en local)... il faut utiliser la super globale $_FILES pour récupérer les fichier uploadés... .. !

    Quand un fichier est uploadé cette dernière se présente comme suit...

    Array
    (
        [nom_du_champ] => Array
            (
                [name] => monfichier.ext
                [type] => image/jpg
                [tmp_name] => chemin_complet_du_fichier_uploadé
                [error] => 0
                [size] => 1000
            )

    )

    Le principe de l'install est sympa bien qu'un peu superflue mais tu aurais pu tout mettre dans un fichier parceque un fichier juste pour afficher un bouton avec voulez vous installer c'est quelque peu inutile... qui plus est tu génère un fichier config mais le login et le pass de connection ftp sont dans index.php... le fichier de config est la pour ça... .. .

    Ensuite je vois pas en quoi ton upload est sécurisé... au contraire... aucune protection d'accès... n'importe qui peu uploader des fichiers... la seule protection c'est le htaccess pour afficher les fichiers php en plain/text mais c'est loin d'être suffisant... d'ailleur quand je vois sécurisé dans le titre ça me fait toujours douter... d'autant plus quand l'auteur dit qu'il débute... .. .

    Tu utilise les fonctions ftp_*... bien que ça ne soit pas vraiment utile c'est un choix... mais à l'upload tu utilise les fonctions du gestionnaire de fichier... bref hormis pour lister le contenu du répertoire cible, ce que tu pourrais faire avec les fonction du gestionnaire de fichier, ta connection ftp ne sert strictement à rien si ce n'est griller des resources... d'ailleurs tu fais un opendir() sur le répertoire de destination mais tu n'utilise jamais le pointeur que tu as créé... .. .

    Tu gère très mal les erreurs... quand tu les gères... pareil à l'install d'ailleur... si aucun fichier n'est uploadé c'est page noir... si move_uploaded_file() échoue le fichier sera quand même compté comme uploadé... la gestion des erreurs d'upload ne se fait pas comme ça... ta ligne...

    <?php
    if (is_uploaded_file($upfile))
    {
    echo "L'extension de votre fichier n'est pas autorisée par notre serveur";}
    if ($upfile_size>$maxsize)
    {
    echo "Le fichier a une taille supérieure à la limite autorisée!"; }
    ?>

    A la fin du fichier ne correspond à rien... le le fichier a bien été uploadé tu affiche une erreur... c'est d'ailleurs étonnant que tu n'ais pas de parse error car tu ne ferme pas les accolades... comme dit précédament les codes d'erreurs d'upload sont contenu dans la variable $_FILE... .. .

    0 il n'y a eu aucune erreur
    1 Le fichier dépasse la limite autorisée par le serveur (fichier php.ini)
    2 Le fichier dépasse la limite autorisée dans le formulaire HTML
    3 L'envoi du fichier a été interrompu pendant le transfert
    4 Le fichier envoyé a une taille nulle

    Cependant il est mieux de vérifier soit même la taille, le type de fichier et sont contenu car ceux ci sont facilement falsifiable... .. .

    Pour l'upload d'image d'une part tu te limite à trois extensions... mais si je veux, par exemple, uploader des fichiers bitmap... et tu t'y prend mal...

    if ($type=="$type1" || $type=="$type2" || $type=="$type3")

    déja les doubles quotes sont inutiles...

    if ($type==$type1 || $type==$type2 || $type==$type3)

    et autant faire...

    (dans conf)
    $allowed_ext = array('gif','png','jpg','bmp',...

    (dans upload)
    if(in_array($allowed_ext,$type))
        //c'est bon
    else
       // c'est pas bon

    Ta méthode pour récupérer l'extension n'est pas des meilleurs... si j'upload une_image.jpeg ça ne passera pas...

    function getFileExt($filename)
    {
        if(false === ($pos = strrpos($filename,'.'))
           return '';
        
        return strtolower(substr($filename,$pos+1));
    }

    ensuite tu fais

    if(in_array($allowed_ext,getFileExt($_FILES['upfile']['name']))
        //c'est bon
    else
       // c'est pas bon

    Mais bon... controler le type de fichier par rapport à son extension n'est pas suffisant... c'est une faille de sécurité potentielle... il faut aussi penser aux attaques null byte dans les tentatives de dissimulation d'extension.. .

    Sinon niveau syntaxe pas mal de petite erreur pas très grave mais les mauvaises habitude se prennent vite... .. .

    <? echo "$nombre"; ?>    =>    <? echo $nombre; ?>

    if($type=="$type1"       =>    if($type == $type1

    $jour=$tmp["mday"];      =>    $jour = $tmp['mday'];

    $tout="$mois$h$jour$s$jour$s$m";   => $tout = $mois.$h.$jour.$s.$jour.$s.$m;

    echo "<p align=\"center\">...";  =>  echo '<p align="center">...';

    Voili voilou à première vu... .. .

    @ tchaOo°

  • signaler à un administrateur
    Commentaire de Mich93 le 19/12/2006 13:39:47

    Merci pour les réponses.

    Je suis chez online.net.(pas gratuit, pas très cher non plus !)
    J'ai un compte 500Mo
    Ca commence à faire pas mal de temps que je cherche une solution pour uploader des fichiers sur mon ftp sans passer par un logiciel. J'ai essayé tout un tas de sources mais sans succès.
    J'ai l'impression qu'en étant chez online je ne vais pas pouvoir.
    Je vais donc essayé de supprimer les lignes comme tu me le propose Odric88.(je te tiens informé du résultat)
    Michaël

  • signaler à un administrateur
    Commentaire de Mich93 le 20/12/2006 08:58:32

    Bonjour,

    Donc je vous tiens informé :
    ça ne fonctionne pas.
    J'arrive pourtant jusqu'à la page "ok" (qui est vide, surment dû aux lignes que tu m'as dit d'effacer), mais quand je vais dans mon repertoire sur le ftp, le fichier (450ko)n'est pas là !
    C'est le même résultat avec à peu près tous les sources de upload.
    J'en conclus que c online.net qui bloque.
    Si vous avez des idées, je suis preneur !
    A+
    Michael

Ajouter un commentaire

Discussions en rapport avec ce code source

Upload de fichier par clovis

Aide pour upload par Shin_RockmanX

Upload => en français par Shin_RockmanX

pb d'upload par Stephane

upload et mysql par elias

upload de fichier par duareb

[urgent] upload et delais par lefab2

Upload!!! par yoman64

Pb nom de fichier lors d'un upload par Morbak

securite lors d'un upload par erich10

Pub



Appels d'offres

Animation Flash alimen...
Budget : 6 000€
Creation portail video
Budget : 3 000€
Site de e-commerce
Budget : 5 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS