Quantcast
Viewing latest article 17
Browse Latest Browse All 76

Revue de Presse Xebia


La revue de presse de l’actualité Java/J2EE hebdomadaire proposée par Xebia.

Actualité éditeurs / SSII

Le coin de la technique

Evènements de notre communauté en France et à l’étranger

Actualité éditeurs / SSII

SpringSource se dote d’un cache distribué

VMware vient de faire l’acquisition de la société GemStone Systems, éditeur de la solution de cache distribué GemFire. Elle sera gérée désormais sous la houlette de SpringSource. Ce nouveau rapprochement s’inscrit dans la stratégie affichée de la firme de fournir une plateforme complète de cloud destinée aux applications Java.

Par ailleurs, dans une interview donnée à InfoQ, Rod Johnson affirme que le framework Spring développera les abstractions nécessaires à l’intégration de ce type de produit, comme c’est déjà le cas pour les RDBMS, les broker JMS, etc via les Templates Spring, et pourrait permettre l’intégration d’autres solutions de data-grid comme Oracle Coherence ou encore Terracotta.

Le coin de la technique

Jarlsberg, la sécurité en s’amusant

Xss, DoS, Xsrf… Des acronymes barbares qui désignent des failles de sécurité courantes dans nos applications Web. Si vous voulez mieux les connaitre, et ainsi vous en protéger, le nouveau projet de Google Labs, Jarlsberg (fromage norvégien), est pour vous.
Et comme le meilleur moyen d’apprendre est de faire, Google met à votre disposition un site truffé de failles de sécurité que vous pourrez hacker à loisir.
Les failles sont organisées en fonction de leur type :

  • Cross-site Scripting (XSS)
  • Cross-site Request Forgery (XSRF)
  • Cross-site Script Inclusion (CSSI)
  • Manipulation de l’état du client
  • Traversée d’arborescence
  • Déni de Service (DoS)
  • Exécution de code
  • Vulnérabilité de la configuration
  • Vulnérabilités AJAX

Pour venir à bout de ces failles, il existe trois types de tests :

  • Tests boite noire : l’utilisateur ne connait pas le fonctionnement interne du site, il tente de hacker le site en passant par les pages exposées
  • Tests boite blanche : le code de l’application en python est connu par le hacker
  • Tests boite grise : un panaché des deux précédentes méthodes

Ces tests sont servis pour une large variété d’outils de hacker :

  • Snippets HTML
  • Upload de fichier
  • Administration du site
  • création de nouveaux comptes utilisateur
  • Language de templating Jarlsberg
  • Injection AJAX

L’approche est très pédagogique, avec une succession de challenges à résoudre. Par exemple, le premier de ceux ci : pouvez vous uploader sur le site un fichier qui vous permettra d’exécuter un script sur le serveur d’application ? Chaque challenge propose des indices, une manière d’exploiter la faille et une correction.
Une plongée passionnante dans l’univers des hackers.

Avant de vous lancer dans ce Google Lab, nous vous conseillons la lecture de l’article de Christian Heilmann.

Bien sûr, ces trucs et astuces ne doivent pas être reproduits à la maison, vous pourriez tomber sous le coup de la loi.

Multi-Catch confirmé dans le projet Coin

Finalement, après plusieurs hésitations, Joe Darcy confirme la possibilité de rassembler plusieurs catch d’exceptions dans une même clause dans Java 7. Ainsi il sera possible d’écrire:

try{
// code
} catch (ExceptionA|ExceptionB ex){
// code
}

Les discussions portaient sur la deuxième partie de cette proposition, le renvoi ( rethrow ) des exceptions. En effet il peut arriver qu’une exception soit renvoyée après avoir été attrapée. Dans ce cas elle doit apparaître dans la signature si c’est une exception vérifiée ( checked ). Par exemple :

public void myMethod() throws Exception {
try{
// A hérite d'Exception
throw new A();
} catch (Exception e){
// code: par exemple un log
throw e;
}
}

Ce que propose le projet Coin, c’est de vérifier les exceptions possibles dans le bloc try et de donner la possibilité dans la signature de la méthode de renvoyer le type précis des exceptions. Pour cela on utilise le modifier final. Ce qui donne :

public void myMethod() throws A {
try{
// A hérite d'Exception
throw new A();
} catch (final Exception e){
// code: par exemple un log
throw e;
}
}

Ceci permet d’avoir une signature plus précise et de pouvoir remonter une exception facilement. Les difficultés de cette proposition ont tourné autour du type d’exception qui se trouve dans la clause catch dans le cas où le type n’est connu qu’au Runtime.

Cette proposition en ravira plus d’un mais fera aussi sourire ceux qui prônent la suppression des exceptions vérifiées. Pour finir, un petit cas limite amusant de cette proposition, relevé par Stephen Colebourne :

public void myMethod() {
try{
//  du code sans exception
} catch (final Exception e){
// on envoie une exception vérifiée qui n'est pas dans la signature!
throw e;
}
}

Evènements de notre communauté en France et à l’étranger

C’est le printemps, les User Groups fleurissent

Avec notre plateforme de prédilection, Java, qui s’ouvre de plus en plus à de nouveaux langages, il fallait bien que la communauté suive. Nous assistons donc ces derniers temps à l’éclosion de nouveaux User Groups. Le premier à bourgeonner fut le Scala User Group (attention, pas « SUG » car le nom est déjà pris) qui a pris ses racines lors de la soirée Scala organisée par le Paris JUG. Cette semaine, c’est Guillaume Laforge, Groovy project lead et Cast Codeur émérite, qui a annoncé sur la mailing liste du Paris JUG la création du Groovy User Group. La première rencontre est d’ores et déjà prévue le 10 juin.
Ces nouveautés s’inscrivent dans la lignée de ce que nous avons déjà observé avec la multiplication des JUGs: la communauté s’organise pour partager, lier connaissance et évoluer. Après les différents JUGs centrés sur Java, il n’est pas étonnant de voir des User Groups se créer pour rassembler les personnes intéressées par les nouveaux langages de cette plateforme.
Par la suite, ces langages resteront-ils sous la coupe des divers JUGs ou allons nous assister à la création du « Marseille Groovy User Group » ou du « Lyon Scala User Group » ? ;)


Viewing latest article 17
Browse Latest Browse All 76

Trending Articles