Codes et petits scripts

Dossier groupant les articles proposant des aides en php/MySQL ou d'autres languages étayées d'exemple de code.

Générer un flux rss (2e partie)

Nous avons vu, dans un autre article, comment générer un flux rss de nouvelles pour notre site.
Mais les flux rss ne se limitent pas aux nouvelles du site et il est tout aussi intéressant de proposer un flux par thème du forum ou par type d’événement.

Plutot que de répéter à chaque fois le script de génération du fichier rss, je vous propose d’utiliser une classe plus générique qui va formater nos données de flux en un XML prévu à cet effet.

Continue reading

Afficher une image « sécurisée »

Dans nos jeux, nous rencontrons parfois des situations où il est nécessaire d’afficher une image « sécurisée ». Elle est sécurisée en ce sens que par exemple, seuls certains joueurs peuvent y accéder.

Evidemment, si on se contente de faire un

 

il est trop facile pour un joueur connaissant l’url d’accéder à l’image, sans aucune vérification de sécurité.

La solution à ce problème est très simple : il faut faire une page php (afficheImage.php) qui va aller lire l’image imageSecure.jpg (qui sera positionnée hors arborescence web) et renvoyer le flux vers le client web avec l’en-tête qui va bien.

Où placer mes images ?

Placez vos images qui doivent être sécurisée hors arborescence web. Celà veut dire que si, sur votre hébergement, la racine du site se trouve sur /home/votreLogin/www, il faudra placer les images sur /home/votreLogin/imagesSecure/.

Si c’est trop chinois pour vous, placez alors simplement vos images dans un répertoire dont le nom ne peut être deviné facilement et dotez-le d’un index.html vide (pour éviter l’affichage de l’arborescence).

Le script afficheImage.php 

// Votre fonction de vérification des accès à l'image
f_verifAcces(....);
 
// Emplacement de l'image
$gs_dirImage = "/home/votreLogin/imagesSecure/";
$ls_image = $gs_dirImage.$_GET["url"];
 
// Deccription du contenu pour les navigateurs
header("Content-type: image/gif");
 
// Lire le fichier et renvoyer le flux
readfile($ls_image);
?>

Afficher l’image

rien de plus simple :

Easy isn’t it ?

Temps d’exécution d’un script

Trouver l’origine d’un ralentissement d’un jeu est souvent difficile et même parfois impossible sans les outils ad-hoc.

Je vous propose donc d’utiliser ce script tout simple qui va permettre de mesurer le temps d’exécution d’une page php et, de manière générale, le temps que met chaque élément critique de vos pages. Continue reading

Compter le nombre de joueurs actifs

Il est courant d’observer sur des sites et forums, un affichage du genre : « 163 visiteurs actuellement connectés ».

C’est sympa et ca permet de se sentir parfois moins seul sur un site web où l’asynchronisme est flagrant.

Le php va nous aider à réaliser cet affichage de manière très simple et avec très peu de ressources : en comptant le nombre de fichiers de sessions créés sur le serveur.

Continue reading

Pack Graphique : comment l’implémenter

Coquetterie du joueur ou réelle utilité pour diminuer la bande passante consommée par votre jeu, le pack graphique est une solution rapidement envisagée par tous les webmasters de jeux web à forte fréquentation.

Vous trouverez ici un guide sur les moyens d’implémenter l’utilisation d’un pack graphique pour votre jeu.

Continue reading

Système de Bot et de Bot-Mail

Pour que le joueur soit au courant de ce qui arrive à son personnage en son absence, un système de message de BOT s’avère efficace et bien souvent plébicité par les joueurs !

Derrière chaque action entreprie par le joueur, il convient donc d’envoyer un petit message avec quelques détails au joueur lui même et, à la cible du joueur … Continue reading

Récupérer une adresse ip

Pour surveiller les multi-comptes, une des méthodes répandues est de surveiller les adresses IP de connexion, de les sauvegarder en mémoire, puis de vérifier si elles n’existent pas déjà pour un autre compte.

Voici un script tout simple pour tester une adresse IP, on en trouve sous de nombreuses autres formes sur le net, mais le résultat de cette version est déjà largement satisfaisant à mon goût Continue reading

Jet de Dés

Centraliser les tirages aléatoires de nos jeux dans une seule et unique fonction permet non seulement de remballer vos détracteurs à ce sujet mais surtout d’éviter quasiment à 100% toute erreur de programmation et garantir un bon fonctionnement "aléatoire" de vos jets de dés. Continue reading