cs_Mich93
Messages postés9Date d'inscriptionvendredi 30 juin 2006StatutMembreDernière intervention20 décembre 2006 20 déc. 2006 à 08:58
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
cs_Mich93
Messages postés9Date d'inscriptionvendredi 30 juin 2006StatutMembreDernière intervention20 décembre 2006 19 déc. 2006 à 13:39
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
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 19 déc. 2006 à 11:59
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...
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)
(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... .. .
Voila vous n'aurez pas de compteur pour le moment attendez la prochaine version ;)
cs_Mich93
Messages postés9Date d'inscriptionvendredi 30 juin 2006StatutMembreDernière intervention20 décembre 2006 19 déc. 2006 à 08:45
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
odric88
Messages postés10Date d'inscriptionlundi 18 août 2003StatutMembreDernière intervention19 décembre 2006 18 déc. 2006 à 21:33
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
cs_Mich93
Messages postés9Date d'inscriptionvendredi 30 juin 2006StatutMembreDernière intervention20 décembre 2006 18 déc. 2006 à 14:43
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
GNVA Dfx
Messages postés10Date d'inscriptionjeudi 5 août 2004StatutMembreDernière intervention20 décembre 2006 17 déc. 2006 à 15:10
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
cedriclomb
Messages postés275Date d'inscriptionsamedi 19 novembre 2005StatutMembreDernière intervention27 avril 20101 17 déc. 2006 à 09:42
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 ?
odric88
Messages postés10Date d'inscriptionlundi 18 août 2003StatutMembreDernière intervention19 décembre 2006 16 déc. 2006 à 19:59
Bonjour à tous ceux qui se pencherons sur ma source ^^
N'hesitez pas a faire vos commentaires ils serons les bienvenues :)
20 déc. 2006 à 08:58
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
19 déc. 2006 à 13:39
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
19 déc. 2006 à 11:59
@ 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 "..."; => echo '...';
Voili voilou à première vu... .. .
@ tchaOo°
19 déc. 2006 à 11:18
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:
Il y <? echo "$nombre"; ?> fichiers sur le ftp
Voila vous n'aurez pas de compteur pour le moment attendez la prochaine version ;)
19 déc. 2006 à 08:45
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
18 déc. 2006 à 21:33
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
18 déc. 2006 à 14:43
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
17 déc. 2006 à 15:10
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
17 déc. 2006 à 09:42
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 ?
16 déc. 2006 à 19:59
N'hesitez pas a faire vos commentaires ils serons les bienvenues :)