Annonce

#46 2006-01-17 21:58:58

nicolas
Former Piwigo Team
2004-12-30
1561

Re: Pas encore très sécuritaire PWG ???

z0rglub a écrit:

Aujourd'hui, les sessions sont simplement utilisées pour être associées à un utilisateur, ensuite les données liées à l'utilisateur sont chargées dans $user. Je ne pense pas que l'impact soit si important, ou alors j'ai loupé quelque chose. Je considère que add_session_id, ça touche beaucoup de code, mais c'est simplissime à supprimer.

non l'impact n'est pas important; il y a juste beaucoup de fichiers à modifier mais find, et sed sont mes amis.

z0rglub a écrit:

Oui, une remarque : n'oublies pas mettre un commentaire au dessus de chaque paramètre de $conf dans include/config_default.inc.php à l'image des autres paramètres. Je ne sais pas si tu comptais le faire, mais l'extrait de code laisse supposer que non.

je n'ai pas mis les commentaires sur le forum mais je les mettrais dans le fichier.

z0rglub a écrit:

nicolas a écrit:

p.s: je reporterais toutes ces explications dans le wiki quand ce sera terminé.

Si tu veux, mais j'ai pour idée de réserver les spécifications du wiki pour les évolutions fonctionnelles, pas tellement pour les évolutions techniques. Enfin, si tu veux ajouter des explications dans le wiki, ce ne peut être que bénéfique.

En fait je pensais surtout au wiki pour faire évoluer la documentation.

Je finalise. Je devrais être en mesure de vous livrer quelque chose demain.


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#47 2006-01-20 13:31:41

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Pas encore très sécuritaire PWG ???

J'ai un problème avec la nouvelle gestion des sessions. Si j'active show_queries, à chaque page, j'ai droit à :

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/z0rglub/work/www/pwg/bsf/include/functions.inc.php:460) in /home/z0rglub/work/www/pwg/bsf/include/user.inc.php on line 31

Je ne connais pas l'impact.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#48 2006-01-20 14:25:34

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Pas encore très sécuritaire PWG ???

Autre problème avec le nouveau système de sessions : le path du cookie est "/", ce qui fait que je ne peux pas avoir 2 installations sur la même machine :-/ (voir comment c'était géré avec l'ancien système).


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#49 2006-01-20 14:36:11

nicolas
Former Piwigo Team
2004-12-30
1561

Re: Pas encore très sécuritaire PWG ???

z0rglub a écrit:

J'ai un problème avec la nouvelle gestion des sessions. Si j'active show_queries, à chaque page, j'ai droit à :

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/z0rglub/work/www/pwg/bsf/include/functions.inc.php:460) in /home/z0rglub/work/www/pwg/bsf/include/user.inc.php on line 31

Je ne connais pas l'impact.

Je regarde et je corrige. Cela provient du fait que l'utilisation des sessions ajoute des entêtes http et cela doit se faire avant tout autre envoie au client d'où l'erreur.


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#50 2006-01-20 15:01:50

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Pas encore très sécuritaire PWG ???

nicolas a écrit:

Warning: session_start(): Cannot send session cache limiter - headers already sent [...]

Je regarde et je corrige. Cela provient du fait que l'utilisation des sessions ajoute des entêtes http et cela doit se faire avant tout autre envoie au client d'où l'erreur.

Oui, je connais. C'est pour cela que j'ai remplacé la redirection par header HTTP en une redirection via HTML. La raison principale : à partir du moment où un webmaster modifie le fichier de configuration, tu peux être certain que dans 50% des cas, il va ajouter des caractères en dehors des balises <?php ?> (et donc envoie sur la page).


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#51 2006-01-20 21:50:55

nicolas
Former Piwigo Team
2004-12-30
1561

Re: Pas encore très sécuritaire PWG ???

z0rglub a écrit:

Oui, je connais. C'est pour cela que j'ai remplacé la redirection par header HTTP en une redirection via HTML. La raison principale : à partir du moment où un webmaster modifie le fichier de configuration, tu peux être certain que dans 50% des cas, il va ajouter des caractères en dehors des balises <?php ?> (et donc envoie sur la page).

Je me doute bien que tu connais. ;-)
Pourquoi l'affichage en mode debug ne se fait pas dans le template ? Et même plus généralement pourquoi tous les affichages ne se font pas à travers le template ? Il ne devrait y avoir ni e cho ni print dans le code mis à part la classe template. Tu n'es pas d'accord ?
De cette façon on résoudrait le problème des sessions et on en profiterait pour rendre la fabrication des pages plus cohérente.


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#52 2006-01-20 22:04:26

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Pas encore très sécuritaire PWG ???

nicolas a écrit:

Pourquoi l'affichage en mode debug ne se fait pas dans le template ? Et même plus généralement pourquoi tous les affichages ne se font pas à travers le template ? Il ne devrait y avoir ni e cho ni print dans le code mis à part la classe template. Tu n'es pas d'accord ?

:-) C'est exactement la réponse que je voulais. Je suis d'accord avec toi pour le mode debug. La première version écrivait dans un vrai fichier de log séparé, mais c'était moins pratique à lire que directement dans le navigateur. Je trouverais un moyen de n'envoyer des octets que via le template.

Par contre, comment résoudre le problème de l'étourdi qui ajoute un espace après le "?>" de son include/config_local.inc.php ?


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#53 2006-01-20 22:52:41

nicolas
Former Piwigo Team
2004-12-30
1561

Re: Pas encore très sécuritaire PWG ???

z0rglub a écrit:

:-) C'est exactement la réponse que je voulais. Je suis d'accord avec toi pour le mode debug. La première version écrivait dans un vrai fichier de log séparé, mais c'était moins pratique à lire que directement dans le navigateur. Je trouverais un moyen de n'envoyer des octets que via le template.

Je fais deux ou trois modifs et je revalide mes sessions.

z0rglub a écrit:

Par contre, comment résoudre le problème de l'étourdi qui ajoute un espace après le "?>" de son include/config_local.inc.php

Je ne vois pas de solution miracle.
D'habitude je gère les sessions différemment. Je m'assure que l'ouverture de la session se fait dans le premier include.


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#54 2006-01-21 15:37:39

nicolas
Former Piwigo Team
2004-12-30
1561

Re: Pas encore très sécuritaire PWG ???

Pour régler le problème de l'activation de l'affichage des requêtes, voilà les fichiers que j'ai modifié:
template/yoga/footer.tpl:

Code:

 </div> <!-- copyright -->
 </div> <!-- the_page -->
-
+<!-- BEGIN debug -->
+  {debug.QUERIES_LIST}
+<!-- END debug -->
 </body>
 </html>

include/functions.inc.php:

Code:

 function pwg_query($query)
 {
-  global $conf,$page;
+  global $conf,$page,$debug;
   
   $start = get_moment();
   $result = mysql_query($query) or my_error($query."\n");
@@ -452,12 +452,12 @@
     $output.= '<pre>['.$page['count_queries'].'] ';
     $output.= "\n".$query;
     $output.= "\n".'(this query time : ';
-    $output.= number_format($time, 3, '.', ' ').' s)</b>';
+    $output.= '<b>'.number_format($time, 3, '.', ' ').' s)</b>';
     $output.= "\n".'(total SQL time  : ';
     $output.= number_format($page['queries_time'], 3, '.', ' ').' s)';
-    $output.= '</pre>';
+    $output.= '</pre>'."\n";
     
-    e cho $output;
+    $debug .= $output;
   }
   
   return $result;
@@ -471,9 +471,10 @@
   $now2 = explode( '.', $now[0] );
   $now2 = $now[1].'.'.$now2[1];
   $time = number_format( $now2 - $t2, 3, '.', ' ').' s';
+  $debug .= '<p>';
   $debug.= '['.$time.', ';
   $debug.= $count_queries.' queries] : '.$string;
-  $debug.= "\n";
+  $debug.= "</p>\n";
 }

include/page_tail.php:

Code:

@@ -54,6 +54,14 @@
           'SQL_TIME' => number_format($page['queries_time'],3,'.',' ').' s'));
 }
 
+if ($conf['show_queries']) 
+{
+  $template->assign_block_vars(
+    'debug',
+    array('QUERIES_LIST' => $debug)
+  );
+}
+
 //--------------------------------------------------------------------- contact

Qu'en pensez-vous ? Comment j'intègre ça ? Pierrick, veux-tu que je fasse d'abord un ajout dans le bugtracker ?

p.s: comme d'habitude le forum refuse que j'écrive e cho sans espace!

Dernière modification par nicolas (2006-01-21 15:38:16)


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#55 2006-01-21 21:39:35

nicolas
Former Piwigo Team
2004-12-30
1561

Re: Pas encore très sécuritaire PWG ???

Bon finalement j'ai fait un ajout dans mantis: http://bugs.phpwebgallery.net/view.php?id=268
J'ai aussi corrigé le "bug" dans la branche 1.5, fait le report dans le tronc de j'attends juste un commentaire pour finalement fermé le bug.


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#56 2006-02-01 19:43:37

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Pas encore très sécuritaire PWG ???

(ma remarque sur le patch à "/" est toujours sans réponse)

Nouveau petit soucis : lorsque j'utilise upgrade_feed.php, je charge indirectement include/functions_session.inc.php sans avoir chargé include/config_default.inc.php, du coup $conf n'est pas rempli. Ce qui provoque :

Notice: Undefined variable: conf in /home/z0rglub/work/www/pwg/bsf_perf/include/functions_session.inc.php on line 70
Notice: Undefined variable: conf in /home/z0rglub/work/www/pwg/bsf_perf/include/functions_session.inc.php on line 71
Notice: Undefined variable: conf in /home/z0rglub/work/www/pwg/bsf_perf/include/functions_session.inc.php on line 72
Notice: Undefined variable: conf in /home/z0rglub/work/www/pwg/bsf_perf/include/functions_session.inc.php on line 73

1 upgrades to apply

=== upgrade 5

Column has_high phpwebgallery_images added

Le soucis vient du fait qu'il y a autre chose que des fonctions dans include/functions_session.inc.php : il y a un "if" et des "ini_set". Je pense qu'il faudrait soit déplacer ces bouts de code, soit charger la configuration dans upgrade_feed.php. Sachant qu'upgrade_feed.php n'est utile que sur BSF, il sera supprimé pour les branches stables. Sachant également qu'upgrade_feed.php ne doit pas être disponible que pour les administrateurs.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#57 2006-02-03 11:01:21

nicolas
Former Piwigo Team
2004-12-30
1561

Re: Pas encore très sécuritaire PWG ???

z0rglub a écrit:

(ma remarque sur le patch à "/" est toujours sans réponse)

Pour régler le problème, il va falloir changer la valeur de la propriété session.cookie_path qui est par défaut à "/"

Pour le second problème, je vois deux solutions:
1) déplacer le code qui pose problème
2) gérer completement les sessions dans un seul fichier (renommer functions_session.inc.php en manage_sessions.inc.php) et l'inclure au tout début des scripts. Cela permettrait de régler aussi le problème des caractères excédentaires du fichier de conf.

Finalement j'ai corrigé en mettant les changements de configurations dans le test vérifiant que la gallerie est installée.
J'ai d'autre part ajouté le chemin pour le cookie de session.
J'ai validé tout ça dans le tronc!
Dis gentil chef, si toutes ces modifications te conviennent, tu peux nous faire un build ? :-)

Dernière modification par nicolas (2006-02-03 17:22:52)


Donnez du peps à vos tags
Laissez vos visiteurs vous aidez à tagger vos images avec user_tags

Hors ligne

#58 2006-02-07 05:10:18

rvelices
Équipe Piwigo
2005-12-29
1417

Re: Pas encore très sécuritaire PWG ???

Si je ne me trompe pas, le remember me ne marche plus avec le nouveau systeme. Le cookie envoye au client expire toujours a la fin de la session.
Il y a un moyen de corriger ca ?

Dernière modification par rvelices (2006-02-07 05:10:56)

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact