PHP OpenSSL – Signer des données

Ici je vais essayer de vous expliquer assez facilement comment signer des données en php via openssl pour être sûr qu’elle n’ont pas été altérées durant la transmission.

Tout d’abord on va commencer par se créer une clé publique et une clé privée via la ligne de commande (c’est la méthode la plus simple, pas la seule possible!)

Source des commandes : devco.net

Génération d’une clé privée :

openssl genrsa -out private.pem 1024

  • openssl : no comment ;-)
  • genrsa : génération de clé RSA
  • -out private.pem : écriture dans le fichier private.pem
  • 1024 : la taille de la clé privée (plus longue = meilleure encryptage et donc sécurité)

On extrait la clé publique de la clé privée private.pem générée au préalable

Read More…

Posted in Web at April 19th, 2011. 2 Comments.

Parseur aMsn (Soon) – Php

Un petit post assez bref pour vous informer que j’ai sur le feu un parseur de log aMsn.

Ceux-ci sont dans leur format natif, vraiment pas agréables et même faciles à lire. Et pour avoir le parseur integré à aMsn on est obligé d’avoir le client aMsn ouvert et connecté. Je trouvais cela un peu contraignant et donc je me suis mis comme défi de faire un parseur php rendant un résultat plus que décent en HTML.

Read More…

Posted in Web at July 7th, 2010. Comments Off on Parseur aMsn (Soon) – Php.

Faire le design d’un site différent de jour ou de nuit

Une très jolie fille est venue m’expliquer un jour que le client de la boite où elle travaillait avait demandé un design qui changeait selon qu’on soit le jour ou la nuit.

Les développeurs locaux n’avaient aucune idée de comment faire. Ils ont tous d’abord regardé du coté d’un javascript pouvant récupérer l’heure et transformer le design comme il fallait.  Ils ont aussi émit l’idée d’utiliser un CSS généré à la volée par php (mais je trouvais ça beaucoup trop lourd personnellement).

C’est là que j’ai trouvé l’idée toute conne suivante : et si on utilisait un css pour la structure, qu’on en retirait toute les couleurs ou images importées qui doivent changer dans un autre css.  On garderait un css ‘struct.css’ et on ajouterai un css appellé ‘jour.css’, le deuxième ‘nuit.css’.  Vous voyez où je veux en venir ?

Read More…

Posted in Web at March 11th, 2010. 3 Comments.

Http responses – php

Il peut s’avérer intéressant de récupérer le code renvoyé dans la réponse HTTP dans un script.

Quelques codes comme exemples :

  • 200: OK
  • 302: Déplacé mais trouvé
  • 403: Accès interdit
  • 404: Page Introuvable
  • 500: Erreur serveur

Voici comment faire (je vous fourni un bout de code commenté, des explications plus complètes se trouvent en dessous de ce dernier) :

function ch_url($urlParam){
	// On récupère l'ancien level d'error reporting
	$levelBefore = error_reporting();
	//Le fopen d'une url sur un serveur qui n'existerait plus par exemple fait un très moche message d'erreur, on les déactive donc
	error_reporting(0);
	//Ouverture de la connexion
	if (!$fp = fopen($urlParam, 'r')) {
	    error_reporting($levelBefore);
	    return "404";
	}
	//On récupère les données du stream
	$meta = stream_get_meta_data($fp);
	//On prend la donnée qui nous intéressé dans l'objet et on la transforme comme on veut (voir si dessous pour l'explication)
	$return = explode(' ',$meta['wrapper_data'][0]);
	//On ferme proprement la connexion
	fclose($fp);
	//On replace le niveau d'erreur
	error_reporting($levelBefore);
	//Et on renvoie le résultat
	return $return[1];
}
/*On fait s'afficher la réponse de notre fonction pour une url étant passé par GET
 (script.php?url=http://lgnap.helpcomputer.org/ par exemple)
*/
echo ch_url($_GET['url']);

Read More…

Posted in Web at February 14th, 2010. Comments Off on Http responses – php.