Question

C’est peut-être l’un de ceux-là "hein, pourquoi?" questions, mais j’ai pensé que cela en valait la peine.

Comment utiliser, depuis une application côté serveur, l'adresse IP du client comme adresse IP de l'application sur un autre site Web? L'idée de base est que tout travail effectué par l'application côté serveur est considéré comme le client lui-même effectuant le travail, et non l'adresse IP statique du serveur.

Je ne suis pas sûr que changer les en-têtes HTTP fonctionnerait, mais je peux me tromper. Existe-t-il une documentation à ce sujet?

Merci,

Kyle

Était-ce utile?

La solution

Absolument, tout à fait impossible. Vous ne pourrez même pas ouvrir une connexion TCP car le serveur de l’autre site Web essaiera de dialoguer avec le client et échouera.

Une adresse IP n'est pas simplement un ancien ID, mais bien une adresse à laquelle les serveurs enverront une réponse. Le spoofing n'a de sens que si vous pouvez adapter votre demande à un seul paquet IP (ce qui exclut TCP et donc HTTP) et que la réponse ne l'intéresse pas. Même dans ce cas, cela peut échouer car les routeurs de votre fournisseur de services Internet peuvent avoir des règles anti-usurpation qui suppriment les paquets avec "en dehors". Les adresses IP provenant de " inside " réseaux.

Autres conseils

Pourquoi une application légitime voudrait-elle usurper son adresse IP?

Changer les en-têtes HTTP peut le couper, mais probablement pas. Dépend de la naïveté de l’autre serveur.

On dirait que vous essayez de faire quelque chose de mal, pouvez-vous donner un peu plus d'informations sur ce qu'est exactement le cas d'utilisation?

S'il n'y a pas de traitement à effectuer entre les deux, vous pouvez effectuer la redirection de port sur le pare-feu IP de votre serveur. Le client se connecte donc à votre serveur mais finit par parler à l'autre serveur.

Si votre serveur est davantage impliqué, la solution correcte consiste à transmettre l'adresse IP du client à l'autre serveur dans le cadre de l'URL (s'il s'agit d'une application Web) ou ailleurs dans les données (si ce n'est pas le cas). le serveur de réception peut connaître et consigner correctement le processus sans qu'il soit nécessaire de simuler. Bien sûr, cela nécessiterait également un changement dans l'autre application.

Encore une fois en supposant que nous parlons de HTTP, une autre idée qui m'est venue à l’esprit serait de rediriger votre client vers l’autre serveur. Tant que toutes les données nécessaires sont dans l'URI, vous pouvez conseiller au navigateur du client de se connecter à l'autre serveur avec un URI de votre propre création pouvant porter la valeur supplémentaire que le traitement de votre serveur ajoute à la demande.

Il y a des décennies, le concepteur d'Internet a demandé: "Comment pouvons-nous empêcher Kyle Rozendo de faire une chose aussi sournoise?"

Si le client coopère, vous pouvez installer certains logiciels sur la machine client et effectuer le travail à partir de là. Par exemple, un applet Java signé sur votre page. [kidding] Si le client ne coopère pas, installez un virus de Troie [/ kidding]

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top