Re: [SPIP Zone] plugin connecteur

2016-06-20 Par sujet Fil
> Sauf erreur de ma part, si tu json_encode une class PHP puis que tu la json_decode, tu n'obtiens pas une class PHP. en effet, JSON encode des listes, chaines, attributs et nombres ; c'est ça qui lui permet d'être portable et standard. > Hors ici, c'est le but. De manière général le champ token

Re: [SPIP Zone] plugin connecteur

2016-06-20 Par sujet Matthieu Marcillaud
Le 20/06/2016 à 21:19, Phenix a écrit : Bonjour Fil, Sauf erreur de ma part, si tu json_encode une class PHP puis que tu la json_decode, tu n'obtiens pas une class PHP. Hors ici, c'est le but. De manière général le champ token dois accepter n'importe quoi... Présentement je suis étonné que le

Re: [SPIP Zone] plugin connecteur

2016-06-20 Par sujet Phenix
Bonjour Fil, Sauf erreur de ma part, si tu json_encode une class PHP puis que tu la json_decode, tu n'obtiens pas une class PHP. Hors ici, c'est le but. De manière général le champ token dois accepter n'importe quoi... Le 20/06/16 16:25, Fil a écrit : > Qu'est-ce qui t'embête avec JSON ? Ce

Re: [SPIP Zone] plugin connecteur

2016-06-20 Par sujet Matthieu Marcillaud
Le 20/06/2016 à 18:17, Matthieu Marcillaud a écrit : La fonction sql_quote() coupe la variable serialisée de l'objet, lorsqu'il y a un 'private $variable' dans l'objet. (au moins ça en tout cas). Pour continuer : https://bugs.php.net/bug.php?id=63419 $PDO->quote() sqlite qui coupe les

Re: [SPIP Zone] plugin connecteur

2016-06-20 Par sujet Matthieu Marcillaud
Le 18/06/2016 à 21:38, tofulm a écrit : ca ne va toujours pas ! en sqlite ==> la serialisation NE fonctionne PAS même dans un champ de type blob ! (même erreur que sur un champ texte) pour que cela fonctionne, il faut l'enlever. (testé et approuvé ;-) ) Est ce que c'est acceptable de

Re: [SPIP Zone] plugin connecteur

2016-06-20 Par sujet Fil
Qu'est-ce qui t'embête avec JSON ? Ce serait quand même plus joli que de bidouiller des encodages pas très lisibles à l'oeil nu ; ça évite les problèmes de sécurité ; c'est standard. -- Fil 2016-06-20 15:54 GMT+02:00 tofulm : > Bonjour à tous, > > c'est encore casse pieds,

Re: [SPIP Zone] plugin connecteur

2016-06-20 Par sujet tofulm
Bonjour à tous, c'est encore casse pieds, mais j'ai envie que cela fonctionne en sqlite Une autre solution qui permet de garder la sérialisation et la signature est : on remplace : $token = serialize($token); par $token = base64_encode(serialize($token)); et

Re: [SPIP Zone] plugin connecteur

2016-06-20 Par sujet Gilles Vincent
Je n'ai pas d'avis au sujet du niveau de protection du token. Par contre dans le cadre de la signature de la sérialisation sous Ajax, il y a une explication simple : la valeur sérialisée est transmise par requête Ajax. Donc elle peut être modifiée facilement, et sa désérialisation est vraiment à

Re: [SPIP Zone] plugin connecteur

2016-06-18 Par sujet Phenix
Bonjour Gilles, Oui, bien entendu, d'autant que je l'ai déjà fait dans un autre message. Je copie/colle : > Donc, j'ai fait une première tentative pour sécuriser le token : > > http://zone.spip.org/trac/spip-zone/changeset/98340 > > Le titre du commit n'est pas très explicite, désolé. C'est une

Re: [SPIP Zone] plugin connecteur

2016-06-18 Par sujet Gilles Vincent
2016-06-18 21:00 GMT+02:00 Phenix : > Hello, > > > Phénix, ca te dérange qu'on déplace la signature avant la sérialisation ? > > Il faut carrément supprimer ce système de signature, car il ne protège > contre rien du tout... > > Peux-tu être plus précis ? Selon moi, la clé protège

Re: [SPIP Zone] plugin connecteur

2016-06-18 Par sujet Phenix
Hello, > en sqlite ==> la serialisation NE fonctionne PAS même dans un champ de > type blob ! (même erreur que sur un champ texte) > pour que cela fonctionne, il faut l'enlever. (testé et approuvé ;-) ) Cela me parait quand même super étrange, que SQLite modifier un champ texte, c'est déjà

Re: [SPIP Zone] plugin connecteur

2016-06-18 Par sujet tofulm
ca ne va toujours pas ! en sqlite ==> la serialisation NE fonctionne PAS même dans un champ de type blob ! (même erreur que sur un champ texte) pour que cela fonctionne, il faut l'enlever. (testé et approuvé ;-) ) Est ce que c'est acceptable de stocker le token dans ce champ blob sans

Re: [SPIP Zone] plugin connecteur

2016-06-18 Par sujet Phenix
Hello, > Phénix, ca te dérange qu'on déplace la signature avant la sérialisation ? Il faut carrément supprimer ce système de signature, car il ne protège contre rien du tout... Le 18/06/16 20:56, tofulm a écrit : > Salut Matthieu > > > Le 18/06/2016 à 12:25, Matthieu Marcillaud a écrit : >> Par

Re: [SPIP Zone] plugin connecteur

2016-06-18 Par sujet tofulm
Salut Matthieu Le 18/06/2016 à 12:25, Matthieu Marcillaud a écrit : > > Par contre sur http://zone.spip.org/trac/spip-zone/changeset/98439/ je > me demande s'il n'y a pas un souci ? > > http://zone.spip.org/trac/spip-zone/browser/_plugins_/connecteur/trunk/inc/token.php?rev=98439#L82 > > >

Re: [SPIP Zone] plugin connecteur

2016-06-18 Par sujet Matthieu Marcillaud
Par contre sur http://zone.spip.org/trac/spip-zone/changeset/98439/ je me demande s'il n'y a pas un souci ? http://zone.spip.org/trac/spip-zone/browser/_plugins_/connecteur/trunk/inc/token.php?rev=98439#L82 Comment la ligne 82 peut fonctionner si 'token' est sérialisé là ? if

Re: [SPIP Zone] plugin connecteur

2016-06-18 Par sujet Matthieu Marcillaud
Le 18/06/2016 à 11:34, Phenix a écrit : Le problème viens de la sérialization et du SQLite qui alter le contenu lorsqu'on récupère la chaîne sérializée. Pas tout à fait (du moins ça dépend de ce que tu entends par 'récupère') : c'est à l'enregistrement déjà qu'il coupe la chaîne dès qu'un

Re: [SPIP Zone] plugin connecteur

2016-06-18 Par sujet Phenix
Hello, Du coup, peut être que l'on peu prendre le problème dans l'autre sens : Le problème viens de la sérialization et du SQLite qui alter le contenu lorsqu'on récupère la chaîne sérializée. Peut être du coup ce demander pourquoi SQLite modifie le contenu d'un champ ? Est-ce qu'il le fait

Re: [SPIP Zone] plugin connecteur

2016-06-18 Par sujet Matthieu Marcillaud
Le 17/06/2016 à 21:37, tofulm a écrit : Par contre, ca fonctionne tres bien sans (la serialisation), dans le mesure ou le champ est de type blob Pourrais tu me dire la raison pour laquelle il faut serializer ? Pour la bonne raison qu'on ne peut théoriquement pas enregistrer un objet en

Re: [SPIP Zone] plugin connecteur

2016-06-17 Par sujet tofulm
Salut Matthieu, suite à ta remarque sur IRC, j'ai remis la serialization. Par contre, ca fonctionne tres bien sans (la serialisation), dans le mesure ou le champ est de type blob (je l'ai testé) Pourrais tu me dire la raison pour laquelle il faut serializer ? En te remerciant bon week end

Re: [SPIP Zone] plugin connecteur

2016-06-17 Par sujet Matthieu Marcillaud
Le 12/06/2016 à 21:45, tofulm a écrit : Salut pHénix, De plus, pour l'instant tu utilises toujours serialize qui ne fonctionne pas en sqlite Donc je pense que le champ token en blob suffit pour cette utilisation. Bon, résumons, - le champ est passé en BLOB : OK - le token n'est plus

Re: [SPIP Zone] plugin connecteur

2016-06-12 Par sujet tofulm
Salut pHénix, je ne pense pas que la signature soit utile. Si le token est corrompu, ce n'est pas très grave, la connexion avec facebook ne fonctionnera pas. De plus, pour l'instant tu utilises toujours serialize qui ne fonctionne pas en sqlite Donc je pense que le champ token en blob suffit

Re: [SPIP Zone] plugin connecteur

2016-06-12 Par sujet Phenix
Hello, Donc, j'ai fait une première tentative pour sécuriser le token : http://zone.spip.org/trac/spip-zone/changeset/98340 Le titre du commit n'est pas très explicite, désolé. C'est une merdouille entre git et svn. Je reste peu convaincu : les tokens sont fourni par des services tiers, s'ils

Re: [SPIP Zone] plugin connecteur

2016-06-10 Par sujet Phenix
Bonjour Gilles, > Je rajouterais que le unserialize() pose aussi un problème de > sécurité, car il est une entrée pour exécuter des classes arbitraires. Quel genre d'attaque pourrait passer par là ? J'ai du mal à voir comment un attaquant pourrai injecter du code à ce niveau là. Après ce que tu

Re: [SPIP Zone] plugin connecteur

2016-06-10 Par sujet Phenix
Bonjour Fil, Il me semble qu'on ne peux pas transformer un objet de class PHP en JSON. Le but étant de pouvoir le donnée au SDK de Facebook, il faut le garder dans le bon format. Après, je ne suis pas certain de cela. Le 10/06/16 15:58, Fil a écrit : > Peut-être qu'il faudrait réfléchir à

Re: [SPIP Zone] plugin connecteur

2016-06-10 Par sujet Gilles Vincent
2016-06-10 15:58 GMT+02:00 Fil : > Peut-être qu'il faudrait réfléchir à quitter serialize() pour le monde > heureux du JSON ? > Un outil qui lirait unserialize_ou_json() permettrait de faciliter la > transition… > > -- Fil > >> - les données issues de serialize() par PHP peuvent

Re: [SPIP Zone] plugin connecteur

2016-06-10 Par sujet Fil
Peut-être qu'il faudrait réfléchir à quitter serialize() pour le monde heureux du JSON ? Un outil qui lirait unserialize_ou_json() permettrait de faciliter la transition… -- Fil > - les données issues de serialize() par PHP peuvent poser un problème de > stockage spip-zone@rezo.net -

Re: [SPIP Zone] plugin connecteur

2016-06-10 Par sujet Matthieu Marcillaud
Je précise des choses là : - Donc Tofulm à découvert que les données issues de serialize() par PHP peuvent poser un problème de stockage en base de données, dans les champs textes. Perso, je ne savais pas non plus, j'ai découvert en lisant entre autre https://www.drupal.org/node/690746 .

[SPIP Zone] plugin connecteur

2016-06-10 Par sujet tofulm
Salut Penix tu as du voir passer un commit sur une modif d'enregistrement du token qui ne fonctionne pas en sqlite. Commit qui n'est pas acceptable en l'état) Marcimat (a trouvé) une solution élégante, qui est de changer le type du champ token en blob (binaire) qui permet de s'affranchir de la