JeuWeb - Crée ton jeu par navigateur
Protéger l'accès a un fichier lancé en Cron - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Protéger l'accès a un fichier lancé en Cron (/showthread.php?tid=2861)

Pages : 1 2


Protéger l'accès a un fichier lancé en Cron - Kassak - 09-08-2008

Je voudrais savoir la meilleure solution, la plus efficace, pour protéger l'accès à une page que je lance en CRON à chaque heure.

Cette page fait beaucoup de chose, dont la distribution des points d'actions pour les joueurs, il suffit de rentrer le nom de la page dans la barre pour que le script se déclenche =>pas top moumoute.

Je vous laisse imaginer les dégâts si un joueur trouve le nom de la page, je pourrais vérifier l'heure du dernier lancement et voir en fonction, cela va coincer avec le service cron, et un joueur peut très bien la lancer 800 fois à chaque heure.

Protection par mot de passe ? J'ai peur que ça merde avec le service Cron.

Bref je cherche une solution bloquant l'accès à cette page via le site, mais qui ne l'a bloquerait pas au niveau du service Cron.


RE: Protéger l'accès a un fichier lancé en Cron - Sephi-Chan - 09-08-2008

Es-tu sûr qu'il suffit d'accéder à cette page pour lancer le script ? J'en doute. À mon avis, c'est plus une exécution lancée automatiquement par un utilisateur (au sens informatique du terme, pas une personne physique) sur le serveur de CRON.

J'avoue que je ne sais pas comment fonctionnent les services de CRON.


Sephi-Chan


RE: Protéger l'accès a un fichier lancé en Cron - Shakkah - 09-08-2008

Pour ma part ce que je fais c'est que je rajoute en début un test sur une variable GET.

D'abord si elle existe puis si elle est égale à un truc inbuvable (Ex:kdlkf***45789*---+ etc ...).
Et lors de l'appel par le cron je le configure pour qu'il connaisse cette valeur.


RE: Protéger l'accès a un fichier lancé en Cron - Raoull - 09-08-2008

Donc tu utilises un site de cron externe.

La solution la plus simple est de donner un nom aléatoire à ta page cron, comme un mot de passe, genre "a5fp81da85f.php" et de sécuriser le repertoire où se trouve cette page, avec un index.html par ex.

Après l'usage d'un htaccess me semble pas si évidente dans ton cas.
Comment filtrer le site du cron des autres ?


RE: Protéger l'accès a un fichier lancé en Cron - phenix - 09-08-2008

Radical:
Tu chope l'IP du serveur cron, tu bannis via .htaccess tout ce qui n'est pas cette ip Wink


RE: Protéger l'accès a un fichier lancé en Cron - Kassak - 09-08-2008

Le nom aléatoire pour la page j'y est pensé, mais c'est toujours la même histoire, si un joueur le trouve, on repart de zéro.

Changer le nom de la page régulièrement, c'est chiant, car il faut le faire sur le site Et sur le service cron ( externe oui Wink )

Pour ce qui est de l'IP, pas mal comme idée, je vais contacter l'administrateur pour voir s'il peut me la fournir.

Et niveau GET, je peux faire une double protection, un nom de page aléatoire, et une vérification en début de page pour voir si la variable GET (nom aléatoire aussi) contient bien la valeur aléatoire que j'aurais défini.
Donc le joueur, même s'il trouve le nom de la page, devra trouver le nom de la variable et la valeur de cette variable pour faire fonctionner le script.
Et niveau Cron, j'appel directement la page avec la variable en GET.

Ça fait même trois protections, ce qui est déjà mieux, en attendant d'avoir l'IP, je vais faire ceci, si vous avez d'autres idées allez y Smile


Edit : et je viens de penser, pour l'adresse IP non ce n'est pas top, si jamais il venait à la changer, ça va créer des problèmes sur le jeu, si le script ne se lance pas régulièrement.


RE: Protéger l'accès a un fichier lancé en Cron - phenix - 09-08-2008

Citation :Pour ce qui est de l'IP, pas mal comme idée, je vais contacter l'administrateur pour voir s'il peut me la fournir.

Pas besoin, suffit de la choper au moment ou le cron passe Wink

Citation :Edit : et je viens de penser, pour l'adresse IP non ce n'est pas top, si jamais il venait à la changer, ça va créer des problèmes sur le jeu, si le script ne se lance pas régulièrement.

Je pense pas que l'IP d'un serveur de cron change souvent...

M'enfin c'est a vérifier, moi j'ai cacher mes crons dans des dossier et des sous-dossier.

Sinon, tu as choisi quel service pour le cron ? ce serait peut être une solution de voir s'il envoie pas quelques choses de spécifique comme par exemple un navigateur avec un nom spéciale ou un port de sortie spécial autre que 80 (que tu trouverais avec $_SERVER['REMOTE_PORT']).


RE: Protéger l'accès a un fichier lancé en Cron - Kassak - 09-08-2008

Je suis chez Online Cron, peut être pas le meilleur, mais très simple, rapide, et jamais eu de soucis.

C'est sûr que l'IP ne dois pas changer souvent, mais je ne peux pas me permettre de ne pas lancer ce script pendant une journée entière voir plus si je ne peux me connecter, je règlerais bien sûr les soucis en revenant, mais niveau joueurs ça va gueuler sec.


RE: Protéger l'accès a un fichier lancé en Cron - Eluox - 09-08-2008

Un simple ( relatif ^^ ) GET suffit a protégé je pense .

un truc du genre

Code PHP :
<?php

if(isset($_GET['security']) === true && $_GET['security'] = 'qswxmlkf4v5d4cdprvg')
{
//Tes taches a faire
}else{
exit(
'Hacking Attempt :: Petit *** :D ');
}

et dans le cron tu execute la page

Code :
tapage.php?security=qswxmlkf4v5d4cdprvg

Le gars qui trouve sa, il est chaud Smile

Je procède comme sa perso Smile


RE: Protéger l'accès a un fichier lancé en Cron - Kassak - 09-08-2008

Oui c'est ce que j'avais pensé faire, mais à la place de security, je met encore une chaine de caractère aléatoire Wink

Et pour le message d'erreur, c'est exactement le style que j'ai sur mon site, genre "On essaye de tricher...?"...^^