Archive -> Javascript

Ouai, super, cool, génial !

Vite vite vite testez le   !

PS : my blog is my tweeter

Comments (1)

Ext Js

Ext js

Ext Js est un framework Ajax comportant une superbe bibliothéque graphique pour faire de jolie RIA.

De plus Ext Js s’integre parfaitement aux application AIRExt Js serais aussi compatible avec d’autre framework Ajax comme Prototype, Mootools …

Prennez le temps de découvir la doc qui sert aussi de démo interactive. C’est du bon boulot !

Comments (3)

Vous aimez le code propre ?

Et dire qu’il y en a qui sont payés pour écrire du code comme ça de nos jours…
Ce code n’est pas de moi.


Et vous, vous faites du code propre ?

Comments (6)

Never Trust Foreign Data

Suite à la lecture d’un article sur Developpez.com j’ai décidé de vous écrire un petit article sur une faille XSS en PHP.

Tout bon développeur web se doit de connaître la régle « Never trust foreign data » (Ne jamais faire confiance aux données étrangères) . Nous connaissons tous très bien les problèmes que peuvent causer des injections de code malicieux par POST ou GET, mais cette fois ci, c’est une injection par la variable $_SERVER[‘PHP_SELF’] que je vais vous présenter.

Pour rappel :

PHP_SELF
Le nom du fichier du script en cours d’exécution, par rapport à la racine web. Par exemple, $_SERVER[‘PHP_SELF’] dans le script situé à l’adresse http://www.monsite.com/test.php/foo.bar sera /test.php/foo.bar. La constante __FILE__ contient le chemin complet ainsi que le nom du fichier (i.e. inclut) courant. Si PHP fonctionne en ligne de commande, cette variable contient le nom du script depuis PHP 4.3.0. Dans les versions antérieures, cette variable n’était pas disponible.

Comme la doc PHP nous le montre bien, $_SERVER[‘PHP_SELF’] contient tout ce qu’il y a entre les premier slash suivant le domaine et le point d’interrgation qui nous permet de passer des variables dans l’url. L’utilisateur a donc la possibilité d’agir sur cette variable par le biais de l’URL qu’il saisira dans son navigateur : il ne faut donc plus avoir une confiance aveugle en cette variable.

C’est en partant de cette remarque qu’il a été découvert une possible injection de code malicieux. Voyons tout de suite un exemple : construisons un simple formulaire HTML :




Faille $_SERVER['PHP_SELF']


'.print_r($_POST, true).'

';
}
?>


Login
Password



En appelant cette page par une URL classique (http://127.0.0.1/index.php par exemple) et sans aucune mauvaise intention , tout se passe correctement : le formulaire s’affiche et lorsqu’on le soumet on a l’affichage du tableau $_POST; mais une personne mal intentionnée pourrait facilement injecté un code javascript en utilisant une URL du type :

http://127.0.0.1/failleSelf/index.php/%22%3E%3Cscript%3Ealert(‘Injection’)%3C/script%3E%3Cdata%22

Qui donne une fois décodée : http://127.0.0.1/index.php/ »><script>alert(‘Injection’)</script><data »

En appelant la page de cette manière vous réalisez une injection de code Javascript qui se traduira par l’affichage d’une joli boîte de dialogue. Bien sûre ce type d’injection peut conduire à des dommages bien plus importants.

Pour plus de détails sur cette faille, je vous renvoie vers l’article original sur Developpez.com.

Pendant que nous sommes dans les failles, j’en profite pour vous donner un lien vers un site qui peut être très utile : Milw0rm : ce site répertorie différentes failles trouvées sur plusieurs types d’applications; vous remarquerez d’ailleurs très facilement le message sur la page d’accueil indiquant que nous sommes dans le mois du PHP 😀

Comments (4)

Nettoyage de chaine et entier en JAVASCRIPT

Bon si vous voullez voir ce qu’il ne faut pas faire c’est sur cette ancien post.
Suite à l’intervention d’Ahmed.
Je vous donne le corectif.
J’ai honte de moi. Je ne savais même pas que le .replace utilisait les expressions réguliéres
Merci Ahmed 😉

Voila :

function cleanNumberInString(strString) {
strString = strString.replace(/[0-9]/g,'');
return strString;
}
function cleanStringInInt(strNumber) {
strNumber = strNumber.replace(/[^0-9]/g,'');
return strNumber;
}

Comments (6)

Nettoyage de chaine et entier en JAVASCRIPT

Eh oui !
Même pendant les vacances on s’amuse en faisant un peux de Js.

Bon il s’agit d’un cas d’école mais je trouve que cela manque de script sur le net pour ce probléme bien courant.

A quoi ça sert : On veux remplacer tous les caractéres numériques dans un chaine ou tous les caractéres non numériques dans un entier.

Remarquez comme la fin de ma derniére phrase est débile ! Des caractéres non numériques dans un entier ! Non mais oh !
En fait on va dire une chaine que l’on veux transformer en entier parceque c’est comme ça !

Bon bah voila :


function cleanNumberInString(strString) {
var strStringTmp = strString;
if (strStringTmp.match('[0-9]')){
var intNbChar = strStringTmp.length;
for ( i=0; i

Comments (3)

Bad Behavior has blocked 0 access attempts in the last 7 days.