|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : août 2007 Messages : 92 ![]() |
Bonjour,
Je possède 2 fichiers php pour mon script AJAX : - Fichier1.php, qui est 'l'interface client', qui contient le code javascript pour l'ajax - Fichier2.php qui traite les informations sur le serveur Tout marche correctement. Bien entendu, si je tape dans mon navigateur internet http://monsite.fr/fichier2.php?var1=toto&var2=tutu il m'affiche à l'écran le texte qui est envoyé à la fonction javascript du fichier fichier1.php . (et c'est normal). Est-il possible de faire en sorte de ne pas faire marcher le fichier2.php si celui-ci n'a pas été appelé par le javascript du fichier fichier1.php ? (en gros, refuser qu'on tape l'url du fichier2 directement dans la navigateur) Merci d'avance pour votre réponse. |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() |
Je ne suis pas sûr de ma réponse, mais tu peux effectuer un test sur la variable $_SERVER[' HTTP_REFERER '] pour savoir si la page a été appelée par une autre ou pas.
Ensuite, suivant le résultat, tu gère l'affichage ou pas. |
|
00
|
|
|
#3 |
![]() ![]() Marc ChappuisDéveloppeur Web Inscription : décembre 2003 Messages : 1 535 ![]() |
Salut,
l'utilisation du referer n'est malheureusement pas fiable, cet en-tête étant parfois filtré par des anti-virus pour protéger la vie privée. Une approche possible est d'utiliser la méthode POST pour tes requêtes Ajax et de tester qu'il s'agit bien d'un POST coté serveur (le fait de taper une requête dans la barre d'adresse d'un navigateur produit une requête GET) Mais l'utilisation systématique de POST n'est pas forcement une bonne pratique. (cache sur les proxy etc... plus d'info ici) Tu n'a techniquement aucun moyen d'empêcher de simuler des requêtes Ajax coté client, tu ne peux que rendre cette tâche plus compliquée. Quels sont tes raisons pour vouloir empêcher ceci ?
__________________
Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com