Bloquer les requêtes http / https exécutées à partir de scripts ou d'autres sources externes dans le serveur de noeud

voix
-1

En nœud, si j'utilise une bibliothèque comme Axios et un simple script async, je peux envoyer des demandes de poste illimités vers tout serveur web. Si je connais tous les paramètres, les en-têtes et les cookies nécessaires à cette URL, je vais obtenir une réponse de succès.

En outre, tout le monde peut facilement faire ces demandes à l'aide Postman.

Je l'utilise déjà CORS dans mes serveurs de nœud pour bloquer les demandes provenant de différentes origines, mais qui ne fonctionne que pour d'autres sites dans les navigateurs déclenchants demandes.

Je voudrais savoir s'il est possible de bloquer complètement les demandes provenant de sources externes (scripts créés manuellement, postier, logiciels comme LOIC, etc ...) dans un serveur de nœud à l'aide express.

Merci!

Créé 07/11/2018 à 20:20
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
1

Je voudrais savoir s'il est possible de bloquer complètement les demandes provenant de sources externes (scripts créés manuellement, postier, logiciels comme LOIC, etc ...) dans un serveur de nœud à l'aide express.

Non ce n'est pas possible. Une demande bien formée de postier ou un code avec Axios dans Node.js peut être fait pour ressembler exactement à une demande provenant d'un navigateur. Votre serveur ne connaîtrait pas la différence.

Le schéma habituel pour une API est que vous avez besoin d'une sorte de lettres de créance de développeur afin d'utiliser votre API. Vous appliquez termes de service à ce diplôme qui décrivent ce que les développeurs sont autorisés ou ne sont pas autorisés à faire avec votre API.

Ensuite, vous surveillez l'utilisation et programmation vous ralentissez ou d'interdire les informations d'identification qui utilisent abusivement les API selon vos termes (ce qui est la façon dont Google fait des choses avec son API). Vous pouvez également mettre en œuvre la limitation du débit et d'autres protections du serveur afin qu'un compte développeur emballement ne peut pas nuire à votre service. Vous pouvez même les adresses IP de la liste noire qui abusent à plusieurs reprises votre service.

Pour les API que vous souhaitez pour vos propres pages Web à utiliser (pour faire Ajax appelle à), il n'y a aucun moyen d'empêcher les autres d'utiliser ces mêmes API par programme. Vous pouvez surveiller leur utilisation et tenter de détecter l'utilisation qui est hors de ligne de ce que vos propres pages Web feraient. Il y a aussi quelques programmes où vous placez un jeton à usage unique courte, dans votre page web et besoin de vos pages Web pour inclure le jeton à chaque demande de l'API. Avec un peu d'effort, qui peut être contourné par les développeurs intelligents en grattant régulièrement le jeton de votre page Web, puis utiliser par programme jusqu'à son expiration. Mais, il est un obstacle supplémentaire pour le voleur de l'API pour se déplacer.

Une fois que vous avez identifié un agresseur, vous pouvez bloquer leur adresse IP. Si elles se trouvent sur un plus grand réseau (comme dire une université), leur adresse IP publique peut être partagée par un grand nombre via NAT et vous pouvez finir par bloquer beaucoup plus d'utilisateurs que vous voulez - c'est juste une conséquence de bloquer une adresse IP qui pourrait être partagé par de nombreux utilisateurs.

Créé 08/11/2018 à 06:21
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more