Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 09 Jul 2006 13:03:22

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Comment font froogle, google base ?

Bonjour,

Je me demande comment pourrais t on reproduire le système FTP que Yahoo et Google utilise pour faire charger les feeds RSS ou tab delimited pour Yahoo Store et Froogle...

En fait, un commercant crée un compte FTP et envois sur ce compte FTP un fichier feed...

Les caractéristiques de ce compte FTP sont les suivantes :
- On ne voit pas les fichiers chargés sur le FTP avec un client FTP
- On limite le chargement des fichiers à des noms prédéfinis
- Des receptions du fichier, le fichier est traité

Pensez vous que cela soit possible avec PureFTP ?
Peux être y a t il dejà une solution qui gére cela ?

Merci pour votre aide d'avance...

Cordialement
Michalski Luc

Hors ligne

 

#2 09 Jul 2006 13:33:53

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: Comment font froogle, google base ?

Hello,

  Je n'ai jamais utilisé un des deux produits cités, mais ce que tu décris semble faisable:

- Restreindre un utilisateur à un répertoire sur lequel il a les droits d'écriture et d'execution, mais pas de lecture (chmod u=wx)

- Pour le traitement dès réception,  si pureftpd a été compilé avec l'option --with-uploadscript, tu peux utiliser l'option -o en combinaison avec le démon pure-uploadscript, pour lancer un script à toi a chaque réception d'un nouveau fichier

- Pour limiter le chargement à des noms prédéfinis, c'est plus délicat... tu peux soit utiliser pure-uploadscript pour détruire les fichiers dont les noms ne correspondent pas (bof  bof), soit, si les noms de fichiers autorisés sont bornés et peu nombreux, retirer le droit d'écriture sur le répertoire de l'utilisateur, et créer des fichiers vides sur lesquels il a le droit d'écriture. cela lui permettra d'écraser les fichiers existants mais pas d'en créer de nouveaux.

  A part ca (et au risque de me faire flamer par certains smile ), sauf si tu as une raison historique de vouloir conserver FTP comme protocole d'échange, il serait peut-être intéressant de regarder vers des solutions plus récentes (WebServices, SOAP, WSDL et tout ça).

Hors ligne

 

#3 09 Jul 2006 13:48:33

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Comment font froogle, google base ?

Re,

Froogle et Google Base agrégent dans une base de données des produits provenant de commercants disposant un site de e-commerce.

Moi, j'ai crée un site qui s'appelle Deal Gates ( http://fr.dealgates.ch ). C'est un site de vente aux enchères en ligne. J'ai déjà développé un module pour les boutiques Os-Commerce pour qu'elles générent des feeds compatibles avec le lecteur de mon site. Mais la limitation de la taille des fichiers en upload par le protocole http fait que je cherche à développer un solution d'upload FTP.

Le problème est que j'aimerais faire une interaction en PHP puisque mon lecteur de feed est ecrit dans ce language. En ce qui concerne les restrictions, je pensais utiliser la base de données MySQL pour cherche le username et le password.

En ce qui concerne pure ftp, c'est le server ftp qui est installé sur le serveur avec CPANEL... Je suis absolument novice en matière de FTP...

En fait, avec un peu de perséverance, je DOIS  :? y arriver... Mais je cherche des indices ou des systèmes qui facilterait la création de ce système...

Cordialement
Luc Michalski

Hors ligne

 

#4 09 Jul 2006 16:41:25

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Comment font froogle, google base ?

Salut,
Tu peux utiliser le module socket ou ftp de php.
A+.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#5 10 Jul 2006 01:39:23

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Comment font froogle, google base ?

Salut,

Je commence à mieux maitriser mon sujet grâce à vous smile

Ma dernière question serait :
Est ce que quelqu un connait le moyen de définir des droits d'écriture spéciaux pour des accès ftp créer sous un compte Cpanel ?

J'utilise cette commande pour créer des nouveau compte FTP :

Code:

/frontend/x/ftp/doaddftp.html?login=****login****&password=****password****&homedir=****dir****&quota=****quota****

Cordialement
Michalski Luc

Hors ligne

 

#6 10 Jul 2006 09:41:59

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Comment font froogle, google base ?

Salut,
  Par exemple, sous php : utilise popen("chmod mes_droits sur/ce/répertoire","r").
Voir :
http://www.nexen.net/index.php?option=c … rapide.php
Le site nexen bug!
http://ch2.php.net/manual/en/function.popen.php
A+.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#7 10 Jul 2006 11:38:09

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Comment font froogle, google base ?

Salut,

Merci, j'ai réussi déjà deux étapes smile :

- Création des comptes ( quotas, mots de passe, etc )
- Définition des permissions

Merci à tous

Cordialement
Luc

Hors ligne

 

#8 10 Jul 2006 14:20:19

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Comment font froogle, google base ?

Salut,

Alors voila où j en suis :

Je crée un accès FTP, et je lui donne les droits suivants au répertoire correspondant : 333 ( Je peux pas lire mais je peux écrire et éxecuter... )

Jusque là nickel...

J'ai crée un formulaire à partir duquel je crée des fichiers vierges pour essayer de faire le système de limitation à des noms de fichiers prédéfinis... Je crée les fichiers sans problème et je peux leur affecte les droits suivants ( 777 ).

Quand je change les permissions du repértoire et j'enlève le droit d'écriture pour restreindre les uploads fichiers, et bien je peux plus charger de fichier même celui qui a toutes les permissions.

Quelqu'un peut il m'aider à trouver mon erreur de raisonnement ?

Cordialement
Michalski Luc

Hors ligne

 

#9 10 Jul 2006 16:39:33

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Comment font froogle, google base ?

Salut,
  Pour mémoire :

Code:

    1=x: Lecture : définit si le contenu du répertoire est visible/listable.
    2=w Ecriture : définit si un fichier ou répertoire peut être créé ou effacé dans le répertoire.
    4=r Exécution : définit si on peut accéder à un fichier ou répertoire se trouvant dans le répertoire.

A mon avis tu dois poser un chmod 775 sur ton répertoire à la place d'un chmod 333.

Et bonne chance pour ton site.

A+.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#10 10 Jul 2006 19:44:21

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Comment font froogle, google base ?

Salut,

Le truc c'est que j'ai mis 333 pour cacher le contenu du repertoire...

Le but :
- C'est de ne pas voir les fichiers
- De pouvoir écraser un fichier sur lequel il y a des droits d écriture mais pas d'en uploader d'autre que ceux (les fichiers vierges ) qui ont été généré au travers d'un formulaire et qui ont toutes les permissions...

Je cherche sur le web un exemple similaire mais c chaud chaud apparemment...

PS. merci pour l'encouragement et l'assistance :p

Cordialement
Michalski Luc

Hors ligne

 

#11 10 Jul 2006 21:26:01

ddev
Affranchi(e)
 
Date d'inscription: 10 Jul 2006
Messages: 1

Re: Comment font froogle, google base ?

Bonjour Luc,

Ta question est très intéressante.
Je me suis moi même penché sur le problème c' est passionnant.

Voila pour le protocole ftp:
http://www.commentcamarche.net/internet/ftp.php3

Ben j' ai bien essayé ce qu' on a papoté ici, si on a pas les droits d' écriture sur le répertoire on ne peut pas écraser les fichiers, d' ailleurs mon client ftp on dirai qu' il n' écrase pas / efface puis recrée (il y a des commandes pour rajouter dans ftp). On dirait qu' il faut à tout prix le W pour écrire mais W mais cela veux dire aussi que l' utilisateur peut écrire n' importe quoi et pas des fichiers déterminées. aie

J' ai essayé de faire joujou avec les liens (commande ln), pas trop moyen de trouver une feinte.

Sur un système *nix les fichier caché sont de la forme ".qqchose", ça peut être sympa à savoir.

Comment fonctionne l' uploadscript de pureftp, déclenchement avant ou après, réaction à la commande ftp ?
"kill" des fichiers avant ou apreès upload ?

Quel serveur ftp google utilise ?
Il se peut qu' il ait soit configurer un ftp assez maléable ou soit programmé le leur

Sachant qu' on peut faire un daemon en python en 50 ligne et qu' un serveru ftp c' est apparement 2 daemon (certe plus sophistéiqué / transfert de données / gestion des commandes et la en plus gestion des possibles fichiers) et qu' à google c' est de pro python.
Je me demande si il n' ont pas fait leur sauce personnelle.

à suivre

après tout ftp c' est un peu comme le shell ?
y aurait il un moyen de ne pas faire de création mais des modifications seuelement sur un répertoire ?
des idées ?

David

Hors ligne

 

#12 10 Jul 2006 21:56:52

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Comment font froogle, google base ?

Salut,

Uploadscript dans pure-FTP :

     

------------------------ AFTER AN UPLOAD ------------------------


After a successful upload, any external program or shell script can be
spawned with the name of the newly uploaded file as an argument. You can use
that feature to automatically send a mail when a new file arrives. Or you
can pass it to a moderation system, an anti-virus, a MD5 signature generator
or whatever you decide can be done with a file.

To support this, the server has to be configured --with-uploadscript at
compilation time. Upload scripts won't be spawned on unreadable directories.
So it's highly recommended to use upload scripts with the --customerproof
run-time option and without unreadable parent directories.
To tell the FTP server to use upload scripts, it has to be launched with the
'-o' option. Finally, you have to run another daemon called 'pure-uploadscript'
provided by this package.

IMPORTANT:

YOU MUST START PURE-FTPD _FIRST_ and _THEN_ START PURE-UPLOADSCRIPT.
THE REVERSE ORDER WON'T WORK.

For security purposes, the server never launches any external program. It's
why there is a separate daemon, that reads new uploads pushed into a named
pipe by the server. Uploads are processed synchronously and sequencially.
It's why on loaded or untrusted servers, it might be a bad idea to use
pure-uploadscript with lenghty or cpu-intensive scripts.

The easiest way to run pure-uploadscript is 'pure-uploadscript -r <script>':

/usr/local/sbin/pure-uploadscript -r /bin/antivirus.sh

The absolute path of the newly uploaded file is passed as a first argument.
Some environment variables are also filled with interesting values:

- UPLOAD_SIZE  : the size of the file, in bytes.
- UPLOAD_PERMS : the permissions, as an octal value.
- UPLOAD_UID   : the uid of the owner.
- UPLOAD_GID   : the group the file belongs to.
- UPLOAD_USER  : the name of the owner.
- UPLOAD_GROUP : the group name the file belongs to.
- UPLOAD_VUSER : the full user name, or the virtual user name. (127 chars max)

There are also some options to "pure-uploadscript":

- '-u <uid>' and '-g <gid>' to switch the account pure-uploadscript will run
as. The script will be spawned with the same identity.

- '-B' to fork in background.

Please have a look at the man page ('man pure-uploadscript') for additional
info.

Cordialement
Michalski Luc

Hors ligne

 

#13 10 Jul 2006 22:28:49

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: Comment font froogle, google base ?

Hello,

  A vue de nez, pureftpd utilise une technique de renommage pour garantir l'atomicité des uploads (et éviter certaines conditions de courses qui pourraient permettre de tricher sur les quotas).

  Je ne connais pas pureftpd, mais j'ai l'impression que quand ce renommage est effectué la séparation de privilèges a déja été effectuée. Si pureftpd tourne sous un utilisateur dédié, tu peux toujours essayer de donner droit d'écriture à cet utilisateur sur le répertoire en question (mais ca m'étonnerait pas que ca ne fonctionne pas).

  Tu peux aussi retirer le support pour les quotas, ou jouer avec l'option -O de pureftpd (ou changer l'option NoTruncate à NO dans le fichier de configuration). Les deux changent peut-être le comportement du code de renommage (mais j'ai la flemme de regarder exactement comment).

  Mis a part ça, tu devrais sérieusement considérer une autre option pour transférer tes infos.

  Si tu controles un morceau d'application web des deux côtés, mais pas le reste du système, LA solution reste un web service soap. Ne met que la couche web a contribution, portable et auto-générable pour plusieurs langages différents, et passe tout seul a travers un proxy ou sur SSL. Compare avec ftp, ou:
- ton traffic n'est pas encrypté
- le mode passif peut te faire chier
- un proxy restrictif peut te faire chier
- le traitement temps réel est compliqué a mettre en place
- tu devient dépendant d'un composant extérieur supplémentaire (ftp en l'occurence)
- ton application web doit intéragir avec ce composant d'une manière ou d'une autre, ce qui risque de t'obliger a lui ajouter des provilèges, et accroit l'impact d'une faille potentielle dans ton application.

Hors ligne

 

#14 10 Jul 2006 22:38:55

dealgates
Citoyen(ne)
 
Date d'inscription: 09 Jul 2006
Messages: 16
Site web

Re: Comment font froogle, google base ?

Salut,

Je voudrais maintenir le FTP car j'envisage d'automatiser l'échange de flux entre les boutiques Os-Commerce et mon site avec la fonction ftp de PHP...

Pour l'instant, j'essaye de faire "le plus simple" qui marche   :mrgreen:

Pour l'instant, je bute sur la fonction uploadscript et comment l'amorcer dans pureftp après j'aurais le problème du script de traitement du fichier recu...

Cordialement
Michalski Luc

Hors ligne

 

#15 11 Jul 2006 08:27:08

fonji
Gourou(e) du libre
Lieu: Fribourg, don !
Date d'inscription: 15 Feb 2006
Messages: 490
Site web

Re: Comment font froogle, google base ?

Salut,
  Pour mémoire :

Code:

    1=x: Lecture : définit si le contenu du répertoire est visible/listable.
    2=w Ecriture : définit si un fichier ou répertoire peut être créé ou effacé dans le répertoire.
    4=r Exécution : définit si on peut accéder à un fichier ou répertoire se trouvant dans le répertoire.

A mon avis tu dois poser un chmod 775 sur ton répertoire à la place d'un chmod 333.

Et bonne chance pour ton site.

A+.

Heu sans vouloir faire la mauvaise langue, je crois que tu as inversé x et r (mais pas les numéros) !

Hors ligne

 

#16 11 Jul 2006 12:14:52

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Comment font froogle, google base ?

Salut,
  OK, et si je dis plutôt :

Code:

    1=x: Exécution de listages: définit si le contenu du répertoire est visible/listable.
    2=w Ecriture : définit si un fichier ou répertoire peut être créé ou effacé dans le répertoire.
    4=r Lecture du contenu: définit si on peut accéder à un fichier ou répertoire se trouvant dans le répertoire. 

Pour dealgates :
Il existe un paquet super simple à utiliser pour créer des services WEB avec php : nusoap.

http://sourceforge.net/projects/nusoap/

Un service web se compose d'un serveur qui propose et d'un client qui consomme ce service.
Par exemple:
http://www.t-servi.com/oldindex.php
A+


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

Pied de page des forums

Powered by FluxBB