Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 2381 to 2390 of 2494 « Previous | Next »
Alertes sécurité des applications PHP et MySQL, édition 150


PHP et MySQL ne font l'objet d'aucune alerte de sécurité dans leurs versions courantes : PHP 5.2.3 et 4.4.7; MySQL 5.0.41 (communauté) et 5.0.42 (entreprise), 4.1.22, ainsi que 5.1.19-beta. Les mises à jour sont recommandées vers ces versions.

7 alertes de sécurité ont été émises cette semaine, concernant des applications suivantes : Gallery, Joomla, PEAR, PostNuke, WordPress, Xoops et phpBB

Particle Gallery "editcomment" Parameter Handling Remote SQL Injection Vulnerability

Site : TaskHopper for Joomla/Mambo inc/urgency_type.php mosConfig_abs...

Site : PHP PEAR INSTALL-AS Attribute Arbitrary File Overwrite Vulnerability

Site : PNphpBB2 Module for PostNuke "c" Parameter Remote SQL Injection Vulnerability

Site : WordPress Predictable Cookie Generation Information Disclosure Vulnerability

Site : Xoops iContent Module "spaw_root" File Inclusion

[Lire plus]
5 mois avec le cluster MySQL


Aujourd'hui, c'est un retour sur l'utilisation du cluster MySQL pour une application Web. Le cluster est issu du monde des télécom, et répond à des besoins en écriture plutôt qu'en lecture. Mais le cluster, s'il est plus lent lorsque le nombre de connexions simultanée est bas, monte en charge de manière bien plus linéaire.

M. Moon indique notamment qu'il a du réécrire son application pour tirer profit du Cluster. C'est un pré requis qui est encore souvent oublié : on ne peut pas remplacer InnoDB par NDB sans remanier son code PHP. Les jointures et les sous-sélections ne sont pas les bienvenues.

Notons aussi que MySQL 5.0.38 est utilisé dans cette expérience, et MySQL 5.1 devrait apporter des améliorations dans de nombreux domaines.

5 mois avec le cluster MySQL


Aujourd'hui, c'est un retour sur l'utilisation du cluster MySQL pour une application Web. Le cluster est issu du monde des télécom, et répond à des besoins en écriture plutôt qu'en lecture. Mais le cluster, s'il est plus lent lorsque le nombre de connexions simultanée est bas, monte en charge de manière bien plus linéaire.

M. Moon indique notamment qu'il a du réécrire son application pour tirer profit du Cluster. C'est un pré requis qui est encore souvent oublié : on ne peut pas remplacer InnoDB par NDB sans remanier son code PHP. Les jointures et les sous-sélections ne sont pas les bienvenues.

Notons aussi que MySQL 5.0.38 est utilisé dans cette expérience, et MySQL 5.1 devrait apporter des améliorations dans de nombreux domaines.

Open Publisher 1.1-b1

Open Publisher est un script de la catégorie CMS. Il est basé sur PHP5 et MySql>=4.1 (autres bd possible) avec les caractéristiques suivantes:

- Structure MVC
- Modulaire
- Plug&Play
- Simple architecture

Le système est délivré avec des modules de base pour réaliser des projets d'une certaine complexité.

http://www.open-publisher.net

Proposé par Armand Turpel

Replace == delete + insert


Replace est une extension du langage SQL par MySQL, où le serveur vérifie la présence d'une donnée (en se basant sur la clé primaire), pour réaliser une insertion (si elle est absente) ou un remplacement (si elle est présente). Cette commande permet de passer une seule instruction pour faire une opération en deux temps : select puis insert ou update.

L'implémentation de replace est en fait un delete puis insert. Cela peut conduire à des comportements inattendus, comme le présente Christohpe Gesché.

DBRD, Continuent et MySQL CLuster


Les solutions de cluster MySQL sont de plus en plus nombreuses, mais elles ne plaisent pas à tout le monde. C'est le cas de irwan, qui a travaillé sur MySQL Cluster et Continuent, avant de passer à DRDB pour MySQL, et trouver son bonheur. Il livre sa configuration pour une installation Red Hat.

Replace == delete + insert


Replace est une extension du langage SQL par MySQL, où le serveur vérifie la présence d'une donnée (en se basant sur la clé primaire), pour réaliser une insertion (si elle est absente) ou un remplacement (si elle est présente). Cette commande permet de passer une seule instruction pour faire une opération en deux temps : select puis insert ou update.

L'implémentation de replace est en fait un delete puis insert. Cela peut conduire à des comportements inattendus, comme le présente Christohpe Gesché.

DBRD, Continuent et MySQL CLuster


Les solutions de cluster MySQL sont de plus en plus nombreuses, mais elles ne plaisent pas à tout le monde. C'est le cas de irwan, qui a travaillé sur MySQL Cluster et Continuent, avant de passer à DRDB pour MySQL, et trouver son bonheur. Il livre sa configuration pour une installation Red Hat.

REPLACE reset les valeurs non spécifiées
[mysql]
# Je crée une table
DROP TABLE IF EXISTS `testReplace`;
CREATE TABLE `testReplace` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `a` int(11) default '1',
  `b` int(11) default '2',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

#J'y ajoute 2 champs
INSERT into `testReplace` 
        (`a`, `b`)
        values
        (1, 1),(2,2);
SELECT * FROM  `testReplace`;
 id | a | b
============
  1 | 1 | 1
  2 | 2 | 2
[mysql]
#Je remplace la première valeur de la première ligne 
REPLACE into `testReplace` 
        SET `id`=1, a=3;
# que vaut b ? 
[mysql]
  SELECT * FROM  `testReplace`;
 id | a | b
============
  1 | 3 | 2
  2 | 2 | 2

B a repris sa valeur par défaut

En pratique cela veut dire que si on fait un replace et qu'on ne précise pas toutes les colonnes les colonnes non-spécifiées prennent la valeur par défaut alors qu'on peut s'attendre à un "non" …

[Lire plus]
Valider son code HTML sans tidy en PHP


L'audit de base de données arrive sur MySQL. Il s'agit d'assurer la sécurité des données, et de savoir ce qui se passe sur un server une fois qu'on a donné des droits à de multiples usagers, alors que les données sont critiques.

cybersite a appliqué à MySQL une liste de question de sécurité qui est appliquées aux serveurs critiques. J'ai notamment retenu cette conception : "Certains découpe la sécurité des données en cinq parties : inventaire (savoir ce qu'on a), profilage (ne garder que ce dont on a besoin), protection (défendre ce qu'on a), évacuer (supprimer ce qui n'est plus utile) et planification (le plan de réaction aux catastrophes). "