Je dois connaître la différence entre CURL (en PHP) et Ajax (en JavaScript) lorsqu'il s'agit de connaître la source de la demande. P>
mis à jour: strong> Ce que je veux savoir, c'est si je produisez des demandes à l'aide d'Ajax, quelle adresse IP de l'expéditeur serait reçue auprès du serveur avec le paquet comme source? La même chose est avec CURL et pour tous les utilisateurs, une adresse IP unique sera envoyée. Mais est-ce le même cas avec JS? JS exécute à la clientèle de sorte que ce serait une adresse IP client? p>
3 Réponses :
CURL est un processus côté serveur. Cela signifie qu'il sera appelé avant que la page soit rendue et n'a rien à voir avec les capacités du client. P>
Ajax, cependant, est un appel côté client. Cela signifie qu'il ne sera pas exécuté avant que em> le client charge la page (ou au moins que ce morceau de code est vu et exécuté, mais cela fonctionne généralement sur le document.Ready). P>
Si vous cherchez à extraire les informations et à le jeter à l'utilisateur immédiatement, alors CURL est votre meilleur choix. Si vous souhaitez effectuer une charge progressive (vider la page, puis récupérez le contenu d'une charge «sans couture» à l'utilisateur), AJAX est le meilleur pari. Tout en gardant à l'esprit, cependant, à l'âge d'aujourd'hui, il est semi-trivial, Ajax peut être désactivé dans des cas d'extension Noscript de Firefox. P>
Cela étant dit, la source de l'exécution de la courlule sera sur le serveur. La source de la demande Ajax sera sur une base par client. Aucun dont on ne fournit un moyen de détection sécurisé (côté serveur) à savoir qui a envoyé quoi (comme les en-têtes peuvent être modifiés). P>
Si vous essayez de détecter quelle méthode a été utilisée comme source d'une demande, il n'ya aucun moyen de savoir à coup sûr. La plupart des navigateurs utilisent l'en-tête HTTP X-demandé - avec lors de l'envoi d'une demande via AJAX. La bibliothèque CURL envoie un agent utilisateur par défaut, mais cela peut évidemment être modifié par la bibliothèque. Les deux méthodes peuvent être forgées facilement et ne doivent pas être utilisées pour une validation stricte. P>
EDIT: P>
La demande AJAX proviendra du client qui a rendu la demande Ajax. La demande de courbure viendra d'où la bibliothèque a été utilisée. (E.G. Si vous utilisez php, il viendra du serveur PHP. Si vous utilisez via CLI, il viendra du serveur que vous avez exécuté la commande de) p>
évidemment, les demandes pourraient être derrière les proxies, etc. P>
L'adresse IP demandée au fichier JavaScript auprès du serveur sera identique à celle de l'adresse IP qui a renvoyé la requête AJAX au serveur à partir de ce fichier. Voir le Même stratégie d'origine . p>
Selon cela, si je crée une page Web qui incendiera Ajax Demande de Diriger certains www.nnn.com, tout utilisateur utilisant ma page Web déclenchera cette demande de son IP. droit?
Oui, c'est ce que Brad et moi avons dit. Remarque: AJAX est limité par la même stratégie d'origine: vous ne pouvez pas faire de demande AJAX à un domaine différent de celle de la demande.
Peut être un duplicache de Stackoverflow.com/Questtions/4738380/...
Non ce n'est pas. J'ai besoin de connaître la source de demande quand c'est curl ou ajax