Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/12/2011, 20h53   #1
Invité de passage
 
Homme Benjamin
Étudiant
Inscription : décembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 4
Points : 0
Points : 0
Par défaut Protéger une url

Bonjour,

J'ai appris le PHP récemment, et j'ai refais pour m'amuser le Facemash de Mark Zuckerberg.

Lorsqu'on clique sur une image on arrive sur un lien de la forme "http://localhost/score.php?nom=photo26.jpg" (redirection ensuite vers index.php), ce qui augmente le score de la photo26 de 1 point. Le souci est que si on tape cette URL dans la barre d'adresse et qu'on répète plusieurs fois on peut augmenter le score de l'image à volonté.

J'aimerais bien que la seule façon d'augmenter le score soit de passer par le lien présent sur l'image.

Je ne suis pas un prodige de la programmation

Merci de votre aide.

PS : désolé j'ai pas trouvé mieux comme titre...
oXisahk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 21h53   #2
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Bonsoir,

Tu peux très bien passer un argument supplémentaire à ton lien qui te permettra d'incrémenter le compteur uniquement si l'argument est présent.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 22h00   #3
Invité de passage
 
Homme Benjamin
Étudiant
Inscription : décembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 4
Points : 0
Points : 0
Merci de ta réponse,

Mais si tu fais un clic droit sur l'image -> copier le lien... tu as récupère quand même l'argument (score.php?nom=photo26.jpg&argument=argument). Je vois pas comment tu veux faire.
oXisahk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 22h20   #4
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 462
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 462
Points : 2 552
Points : 2 552
Envoyer un message via Skype™ à rawsrc
Oui, j'aurais dû préciser : il faut générer un token que tu stockes dans une table que tu passes en arguments au lien. Quand quelqu'un clique sur l'image, le lien enverra le token, tu vérifies s'il existe dans ta table et si oui, tu incrémentes le compteur. Une fois le token utilisé, il est supprimé. Ensuite tu sers l'image.
Tu mets une durée de vie au token.

Une autre approche est de générer un identifiant expirable et tu l'ajoutes au lien.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 22h44   #5
Invité de passage
 
Homme Benjamin
Étudiant
Inscription : décembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 4
Points : 0
Points : 0
Super merci beaucoup,

Je vais chercher dans le sens de l'id expirable, je ne sais pas ce que c'est un token (vague idée...).
oXisahk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2011, 01h07   #6
Invité de passage
 
Homme Benjamin
Étudiant
Inscription : décembre 2011
Messages : 4
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 4
Points : 0
Points : 0
Bon,

j'ai fait un petit session_start()
Ensuite j'ai utilisé une fonction qui fait un random alphanumérique avec 100 caractères.
On compare les deux codes et si ils sont pas identique on refuse le vote.

Merci de votre aide ça marche nikel.
oXisahk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 16h30   #7
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Maintenant, tu sais ce qu'est un token
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

Linus Torvalds
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h56.


 
 
 
 
Partenaires

Hébergement Web