Rechercher

myPHPupload - upload php sécurisé

1 2 3 4 5 6 7 ... 29 Suivant »

Sky
sky
Date : 13/08/2003
Forum msgs : 4436
Rank : Admin
Localisation : toulouse

myPHPupload - upload php sécurisé

Lien directde sky le 02/10/2007 à 10:40
Version actuel : myPHPupload 1.1.1
ceci est un script pour n'importe qui, mais ne garanti pas une sécurité ABSOLU

Voici un petit script d'upload PHP qui j'espère vous sera bien utile.
Je suis ouvert à toute amélioration niveau sécurité si vous remarqué une faille possible.

C'est un petit gestionnaire d'upload écrit en PHP et utilisant une base de donnée MySQL.

Le principe est de ne pas laisser connaitre l'emplacement de vos fichier lors de l'upload. Pour cela, on utilise plusieurs méthodes, déjà connu et utilisé mais rassemblé ici dans un format simple (j'espère) d'utilisation.

Pour télécharger la dernière version de myPHPupload : http://www.viaphp.net/telecharger/myPHPupload.zip

Démonstration : http://www.viaphp.net/demo/myPHPupload/


Installation

* décompresser le fichier et uploader le tout (répertoire myPHPupload comppris)
* toute la configuration se fais dans le fichier config.php :
- changer les paramètre de connexion à votre base de donnée mysql
- renseigner l'adresse de votre site
- renseigner aussi l'adresse local de là ou ce trouve myPHPUpload (Ex. : /upload/)
* naviguer jusqu'au script pour lancer le script d'installation automatique


Note de version :
0.3 :
La plus grande amélioration étant un systeme qui empèche la lecture de FAUX fichier image. getimagesize(); n'étant pas la panacé, l'image est désormais ouverte et lu ligne par ligne pour et on vérifié la non présence de code malicieux.
ID n'est plus passé dans l'url, mais désormais un identifiant "unique".


0.3.1 :
Cette nouvelle version ne comporte pas de grosse mise à jours, mais surtout plusieurs petites améliorations dans l'affichage des images, la qualité des jpg ou encore le nommage des variables.


0.4B :
- section admin protéger par login et mot de passe qui permet de :
- - supprimer les fichiers
- - faire le tri dans les fichiers temporaires (cache et fichier orphelins)
- - ... plus à venir : ban par ip, config par formulaire
- - voir et télécharger les fichiers qui sont périmés (ou non)
- plus d'options de configuration
- possibilité de définir si on veut utiliser le système de cache ou non
- prise en compte de la transparence des PNG lors d'un redimensionnement
- un mode debug
- qualité des images JPG réglable
- contre vérification du type mime par rapport à son extension. (impossible de mettre en ligne un fichier BMP avec une extension .jpg)
- on ne redimensionne plus les fichiers GIF pour l'instant. Faut que je règle le soucis de fond noir avec ceux qui sont transparent.


0.4.2 :
- amélioration de l'administration
- option pour voir une miniature de l'image mis en ligne
- option pour voir un lien automatique type BBcode pour forum
- optimisation



0.4.3 :
- compteur de téléchargement de chaque fichier
- compteur de visualisation de chaque image
- le code correct pour créer la base mysql


0.4.4 :
- si on passe en mode urlRewriting, une extension est ajouter à l'url pour être compatible avec tous les forums.
- Ajout d'une option qui permet de mettre un mot de passe pour les utilisateurs
- Quelques changements mineurs dans le code


0.5 :
Cette version inclue plusieurs nouveautés :
- possibilité de configurer la suppression automatique des fichiers périmés.
- on peux définir un mot de passe pour l'upload de fichier, mais aussi pour voir un fichier.
- nouveau système pour voir en direct certains fichiers multimédias. Pour l'instant, uniquement les fichiers .mp3 et .swf
- pour bannir une ip on le fais désormais via un fichier texte avec une IP par ligne.
- Re structuration des fichiers (attention lors d'une mise à jours)
- Ajout d'une page "détails" qui récapitule les infos du fichier
- Optimisation et plein de petits trucs ...



0.5 :
- Quelques optimisations et amélioration en termes de rapidité
- Amélioration du lecteur multimédia


1.0 Beta :
- Refonte total :: ré-écriture du code
- Installation simplifié et bien plus sécurisé
- Moteur de template : merci au projet Hyla TPL
- et beaucoup plus !


1.0.1 :
Correction de quelques petits bugs.


1.0.2 :
La version 1.0.2 apporte plusieurs améliorations comme la gestion des extensions interdites, autorisés ou encore une meilleur administration qui permet maintenant de gérer une partie de la configuration directementy via un formulaire.


1.1 :
Plusieurs correction petits bugs. Amélioration à plusieurs endroit de la sécurité. Ajout de l'envoi par email du lien de téléchargement.


1.1.1 :
Corrige un bug d'install et ajoute des petites amélioration sur le processus d'install lui même.
Sky
sky
Date : 13/08/2003
Forum msgs : 4436
Rank : Admin
Localisation : toulouse

Re : myPHPupload - upload php sécurisé

Lien directde sky le 21/09/2008 à 12:15
Salut

Supprime le fichier htaccess actuel, et place celui-ci à la racine de ton site :
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

#les ficher images
RewriteRule ^upload/view/([0-9a-z-]+)$ upload/view.php?i=$1 [L]
RewriteRule ^upload/preview/([0-9a-z-]+)$ upload/preview.php?i=$1 [L]

RewriteRule ^upload/view/([0-9a-z-]+).([a-z]+)$ upload/view.php?i=$1 [L]
RewriteRule ^upload/preview/([0-9a-z-]+).([a-z]+)$ upload/preview.php?i=$1 [L]

RewriteRule ^upload/details/([0-9a-z-]+)$ upload/details.php?i=$1 [L]

RewriteRule ^upload/download/([0-9a-z-]+)$ upload/dld.php?i=$1 [L]


Sky
Sicosis
Date : 19/09/2008
Forum msgs : 3
Rank : Utilisateur

Re : myPHPupload - upload php sécurisé

Lien directde sicosis le 19/09/2008 à 23:28
---Suite---
Fichier Config.php:

// ATTENTION - A CHANGER !!!!
$upload_cfg['_rep_secret'] = $_SERVER['DOCUMENT_ROOT'].'/upload/rep_secret'; // le repertoire secret - la ou son place les fichirs lors de l'upload.
// (c'est le répertoire d'upload, mettre de préférebce un répertoire sans accès http

$upload_cfg['_rep_script'] = $_SERVER['DOCUMENT_ROOT'].'/upload'; // le repertoire secret - la ou son place les fichirs lors de l'upload.
$upload_cfg['_votre_site'] = 'http://www.sicosis.fr'; // adresse http complete du site
$upload_cfg['_rep_myphpupoload'] = 'upload'; // depuis la racine http
$upload_cfg['_sqltable'] = 'myphpupload'; // nom de la table mysql
$upload_cfg['_urlrewriting'] = 1; // activons l'url rewriting ?


Merci!
Sicosis
Date : 19/09/2008
Forum msgs : 3
Rank : Utilisateur

Re : myPHPupload - upload php sécurisé

Lien directde sicosis le 19/09/2008 à 23:23
Bonsoir à tous,

Merci Sky pour ce script, vraiment génial.
Tout fonctionne pour moi sauf l'URL rewriting et pour combler le tout je suis chez 1AND1 et je ne peut pour le moment changer pour cause de moyen, alors je viens vers vous en espérant trouver une solution ou ne serais ce qu'un début de solution. (^^')

Descriptif:

Domaine: http://www.sicosis.fr

Répertoire MyPHPupload : http://www.sicosis.fr/upload/


Fichier .htaccess ( présent dans le dossier upload ):

AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

#les ficher images
RewriteRule ^view/([0-9a-z\-]+)$ /view.php?i=$1 [L]
RewriteRule ^preview/([0-9a-z\-]+)$ /preview.php?i=$1 [L]

RewriteRule ^view/([0-9a-z\-]+).([a-z]+)$ /view.php?i=$1 [L]
RewriteRule ^preview/([0-9a-z\-]+).([a-z]+)$ /preview.php?i=$1 [L]

RewriteRule ^details/([0-9a-z\-]+)$ /details.php?i=$1 [L]

RewriteRule ^download/([0-9a-z\-]+)$ /dld.php?i=$1 [L]


A la racine du domaine www.sicosis.fr :

/
/upload/



Merci pour votre aide,
Sico.

Sky
sky
Date : 13/08/2003
Forum msgs : 4436
Rank : Admin
Localisation : toulouse

Re : myPHPupload - upload php sécurisé

Lien directde sky le 03/10/2007 à 08:55
La version 0.3 de l'upload php sécurisé est presque terminé avec quelques nouveautés comme un identifiant unique pour chaque fichier un peut plus complexe que juste l'id de la table mysql.

Suivi de quelques amélioration de la structure de la table mysql pour améliorer les performances si vous avez beaucoup de fichiers.

Ajout d'un nouveau test de sécurité pour être plus sur que le fichier ne contient pas des caractère interdit (à l'intérieur du fichier !). Ceci peut rendre le script d'upload lent sur des gros fichiers.
Sky
sky
Date : 13/08/2003
Forum msgs : 4436
Rank : Admin
Localisation : toulouse

Re : myPHPupload - upload php sécurisé

Lien directde sky le 04/10/2007 à 16:10
Version 0.3 de myPHPupload, upload php sécurisé.

La plus grande amélioration étant un systeme qui empèche la lecture de FAUX fichier image. getimagesize(); n'étant pas la panacé, l'image est désormais ouverte et lu ligne par ligne pour et on vérifié la non présence de code malicieux.

Comme cité audessus : l'id n'est plus passé dans l'url, mais désormais un identifiant "unique".

Pour télécharger le fichier, c'est toujours le même lien cité audessus sur le premier message.
Sky
sky
Date : 13/08/2003
Forum msgs : 4436
Rank : Admin
Localisation : toulouse

Re : myPHPupload - upload php sécurisé

Lien directde sky le 07/10/2007 à 15:18
Version 0.3.1 de myPHPupload - upload PHP sécurisé

Cette nouvelle version ne comporte pas de grosse mise à jours, mais surtout plusieurs petites améliorations dans l'affichage des images, la qualité des jpg ou encore le nommage des variables.

Il est bien sur conseillé d'utiliser cette version plutôt que les anciennes.

J'ai aussi mis en ligne une DEMO de myPHPupload : upload php sécurisé
David55
Date : 24/10/2007
Forum msgs : 7
Rank : Utilisateur

Re : myPHPupload - upload php sécurisé

Lien directde david55 le 24/10/2007 à 01:43
bonjour

j'ai télecharger le fichier , mais en faites , à la fin , lorsque je veux cliquer sur les deux liens (telecharger et voir l'image) ils font réference à deux dossier qui n'existent pas dans le fichier télecharger : download et view !!!!
est ce que c'est normal ou ç'est moi qui déconne wink:
David55
Date : 24/10/2007
Forum msgs : 7
Rank : Utilisateur

Re : myPHPupload - upload php sécurisé

Lien directde david55 le 24/10/2007 à 12:04
bonjour

j'ai changé le variable, mais rien qui marche , voici les liens qui me donne :
pour le telechargement :
http://www.*******.com//dld.php_i=6001cde5-3a38-4098-b5e4-1a47fd14405c

pour visionner l'image :
http://www.*******.com//view.php_i=6001cde5-3a38-4098-b5e4-1a47fd14405c

donc je sais pas ou le pb smile:
Sky
sky
Date : 13/08/2003
Forum msgs : 4436
Rank : Admin
Localisation : toulouse

Re : myPHPupload - upload php sécurisé

Lien directde sky le 24/10/2007 à 09:53
Bonjour david55
C'est normal. Par defaut les url sont dit "rewrité".

Pour ne plus passé par cette option, ouvre le fichier config.php et change la variable
$upload_cfg['_urlrewriting'] = 1;
en
$upload_cfg['_urlrewriting'] = 0;

Un 0 à la place du 1.
Du coup les url vont devenir plus compréhensible.

Sky

1 2 3 4 5 6 7 ... 29 Suivant »

You need a account to use the forum.

Inscription

Connexion