lapras a écrit:Bonjour,
j'ai plusieurs questions pour le langage PHP :
-Comment faire qu'une page soit uniquement accessible en include, c'est a dire que si dans fichier.php j'inclus fichier2.php alors le fichier "fichier2.php" ne peut pas etre executé si on entre : "http://monsite.com/fichier2.php"
Donc que le fichier ne puisse etre exécuté que grace a mon include dans fichier.php
(je sais, je peux faire ca avec des "if" mais je voulais savoir si une fonction existait)
-Supprimer toutes les variables a la fin d'un script est il vraiment utile ?
la fonction unset possede elle un attribut "all" (pour toutes les variables, sauf les sessions bien sur)
lapras a écrit:J'ai utilisé une variable et j'ai fait un "if" tout bête
Dommage c'est pas tres propre mais bon...
eusebius a écrit:Pourquoi est-ce que tu ne trouves pas ça propre ? C'est la manière standard pour éviter les inclusions multiples en langage C, par exemple. C'est paramétrable à l'envi, et si tu ne programmes pas comme un cochon (et si ton PHP est bien configuré) tu peux garantir que la variable ne vient pas de l'utilisateur.
eusebius a écrit:Pourquoi est-ce que tu ne trouves pas ça propre ? C'est la manière standard pour éviter les inclusions multiples en langage C, par exemple. C'est paramétrable à l'envi, et si tu ne programmes pas comme un cochon (et si ton PHP est bien configuré) tu peux garantir que la variable ne vient pas de l'utilisateur.
anima a écrit:si le besoin se fait sentir de sécuriser l'inclusion (ce qui n'arrive jamais, vu que je sécurise toujours mes inclusions a l'avance: choix délimité)
anima a écrit:j'utilise un define()
Patastronch a écrit:Tu dis que tu peux t'assurer que la variable ne viens pas d'un utilisateur ? et moi je dis que dans le 3/4 des sites amateur les injections de code (et donc de variables instanciées) se font tres facilement uniquement parceque les gens ne comprennent pas l'utilité de la fonction addslash (et donc ne l'utilisent pas).
Patastronch a écrit:Enfin bon, de toute facon quand on veut faire un truc sécurisé on fait pas du php, le php c'est bien trop chiant a configurer !
lapras a écrit:J'ai une autre question :
comment faire pour qu'u utilisateur ne se logue pas sur deux ordinateurs différents simultanément et sur le meme compte ?
On peut toujours comparer les IP dans mysql mais c'est trop lourd comme méthode, en avez vous une autre ?
eusebius a écrit:C'est ce que je voulais dire (plus ou moins) par "si tu ne programmes pas comme un cochon" : isolation et validation de toutes les entrées.
lapras a écrit:Oui j'utilise les sessions.
Mais je ne vois pas trop ce que tu veux dire.
Comment puis je savoir si une variable de session contenant le meme id est crée ?
lapras a écrit:Je comprend mieux, mais ca revient a faire une requete par clique c'est lourd...
En fait voila mon probleme :
je fais une page php, chaque joueur a un unique id et a de l'argent (virtuel). Il peut par exemple acheter un article dans un magasin (virtuellement bien sur), donc je regarde si la session['argent'] est >= au prix de l'article, je fait l'achat donc je modifie sa session['argent'] et son argent dans la bdd.
Supposons que le joueur a dépensé TOUT son argent dans cet article , il a donc $0
Imaginons que je demande a un ami de se connecter en meme temps que moi sur mon compte sur un ordi différent. Alors sur l'ordinateur B (celui de l'ami), la session['argent'] est égale a celle a la connection donc si il va sur la page du magasin, il a une session['argent'] suffisante pour acheter l'article (meme si dans la BDD argent=0)
donc du coup il va acheter l'article et il va avoir de l'argent dans les négatifs
On me dira : je peux toujours vérifier si il a assez d'argent en faisant une requete a Mysql, mais c'est une requete de plus, et je souhaite économiser les requetes.
Merci d'avance
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 5 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :