Ce PiwigoCamp abordera les thèmes suivants : installation et premiers pas avec Piwigo, personnalisation, extensions (greffons). Les présentations seront illustrées d'exemples concrets, et les évolutions futures évoquées à travers la feuille de route. Une séance de questions/réponses permettra aux visiteurs d'exposer leurs points de vue. Et les repas du midi et du soir permettront de faire plus ample connaissance, dans une ambiance conviviale, tout en discutant photo et web !
L'entrée est libre et gratuite. Pour nous aider dans l'organisation, merci de suivre les recommandations sur la page dédiée à l'évènement sur le site de Piwigo. Depuis maintenant 8 ans, Piwigo est développé par une communauté active d'utilisateurs et de développeurs ; gratuit et opensource, il est utilisé partout dans le monde par des utilisateurs aux profils très diversifiés, du photographe amateur pour ses photos de famille, au professionnel gérant plusieurs dizaines de milliers de photos avec accès privé personnalisé pour chacun de ses clients. Cette adaptabilité repose sur une navigation intelligente à travers des catégories, des mots-clés ou un calendrier. Conservez toute la maîtrise de vos images, et gérez vous-mêmes l'accès à vos photos, leur organisation et leur présentation. De nombreuses extensions font de Piwigo un produit facilement personnalisable et particulièrement évolutif pour publier vos photos.
Piwigo aujourd'hui, c'est : 20 membres dans l'équipe, 18 langues disponibles, 15.000 téléchargements par mois, 250 extensions téléchargées 20.000 fois chaque mois, plus de 130.000 messages en 6 langues (dont le français) écrits par les 5.000 membres des forums, 4.500 révisions dans le dépôt de code source, un nombre d'installations à travers le monde estimées à plusieurs dizaines de milliers.
Aller plus loin
- Le PiwigoCamp expliqué (10 clics)
- Piwigo francophone (20 clics)
# Sécurité ?
Posté par BohwaZ (site web personnel, Mastodon) . Évalué à 4.
$query = '
UPDATE '.COMMENTS_TABLE.'
SET validated = "true"
, validation_date = NOW()
WHERE id = '.$_GET['validate'].'
;';
OUTCH ! (dans comments.php)
« Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)
[^] # Re: Sécurité ?
Posté par H. Guillaume . Évalué à 2.
explique un peu, ou est le soucis.
je connais pas php aussi bien que toi...
Guillaume
[^] # Re: Sécurité ?
Posté par BAud (site web personnel) . Évalué à 6.
et http://en.wikibooks.org/wiki/PHP_Programming/SQL_Injection :)
et htmlentities pour une solution plus générique que simplement MySQL http://forum.phpfrance.com/php-debutant/htmlentities-htmlspe(...)
[^] # Re: Sécurité ?
Posté par Pierrick Le Gall (site web personnel) . Évalué à 3.
C'est dommage de ne pas regarder la ligne juste au-dessus:
check_input_parameter('validate', $_GET['validate'], false, PATTERN_ID);
Bonne fin de journée :-)
[^] # Re: Sécurité ?
Posté par BohwaZ (site web personnel, Mastodon) . Évalué à 4.
$feed_id= isset($_GET['feed']) ? $_GET['feed'] : '';
...
$query = '
SELECT user_id,
last_check
FROM '.USER_FEED_TABLE.'
WHERE id = \''.$feed_id.'\'
;';
(feed.php)
« Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)
[^] # Re: Sécurité ?
Posté par Pierrick Le Gall (site web personnel) . Évalué à 2.
Pour la façon de gérer le contrôle des paramètres en entrée, pour l'avoir codé, je sais que is_int ou is_numeric ou un cast sur la variable aurait été plus efficace (c'est anecdotique en l'occurence), mais le comportement de is_numeric/is_int ne me convient pas (pas assez strict), et je voulais un système générique car des fois on passe une liste d'identifiants numériques par exemple. Là je peux utiliser la même fonction, en changeant juste le pattern (une regex). Enfin, c'est du détail d'implémentation, l'essentiel c'est que 1) le mécanisme existe 2) il soit utilisé.
[^] # Re: Sécurité ?
Posté par BohwaZ (site web personnel, Mastodon) . Évalué à 2.
Pour le coup de la méthode, y'a pire mais là garder $_GET directement dans la requête est pas clair, ça donne pas confiance au premier coup d'oeil, même si oui il y a un truc avant (la preuve : je l'ai pas vu ^^). Sinon les objets c'est bien aussi, un jour :)
« Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)
[^] # Re: Sécurité ?
Posté par Pierrick Le Gall (site web personnel) . Évalué à 2.
Pour les objets, on a de plus en plus de programmation orienté objet dans Piwigo. C'est progressif et cela n'a pas encore atteint les paramètres d'entrée HTTP. Nous avons commencé à regarder du côté du principe Poka-Yoke pour la gestion de ces paramètres de manière plus stricte.
http://www.nexen.net/articles/dossier/15024-le_filtrage_poka(...)
Note : cette dépêche peut aussi servir à discuter du PiwigoCamp à Lyon le 6 février 2010
[^] # Re: Sécurité ?
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
L'article que tu lie a d'ailleurs introduit un joli bogue, et une erreur de conception de base (si les exemples n'étaient pas pris comme parole d'évangile, ça ne me dérangerais pas, mais ce code sera certainement copier-coller bêtement dans un projet quelconque).
J'espère que vous avez prévu des séances de révision de code pour le camp :p Et on est sur DLFP, on est pas vendredi mais quand même.
[^] # Re: Sécurité ?
Posté par Pierrick Le Gall (site web personnel) . Évalué à 1.
> copier-coller bêtement dans un projet quelconque
"bêtement" et "quelconque" ce n'est pas très positif comme vocabulaire. Peu importe, merci pour ces recommandations. Tu sembles être sensible et connaisseur du sujet, si tu peux nous donner des infos sur "comment faire ça bien", ce serait encore mieux :-)
> J'espère que vous avez prévu des séances de révision de code pour le camp :p
Absolument pas. Pas pour cette première édition en tout cas. On a orienté cette journée sur la présentation du logiciel, du projet, et la rencontre entre les utilisateurs et l'équipe.
>Et on est sur DLFP, on est pas vendredi mais quand même.
Ah ? et donc sur DLFP, on ne peut pas aborder les sujets d'utilisation du logiciel ? si on ne devait aborder que les sujets d'implémentation technique, j'irai sur developpez.com
[^] # Re: Sécurité ?
Posté par Burps . Évalué à 0.
$r = prepare('INSERT INTO table (field1, field2) VALUES (?, ?)');
$r->execute($value1, $value2);
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.