J'ai une application Windows développée dans C# .Net qui est utilisé comme un bloqueur de site Web pour un réseau.J'ai fait cela en modifiant le fichier hosts.Il fonctionne bien lorsque les urls sont bloqué comme "www.yahoo.com" .Maintenant, mon exigence est que je dois bloquer les URL basées sur les mots-clés.ie lorsque l'utilisateur tape simplement "yahoo" dans le navigateur, je devrais vérifier le mot-clé et bloquer un site web correspondant.Maintenant Comment puis-je suivre le site Web tapé par l'utilisateur dans le navigateur et bloquer ou autoriser l'utilisateur à un site particulier basé sur l'url.I ne devrait pas permettre à l'utilisateur de voir la page si le mot-clé est présent.Comment faire? on m'aide à faire ça?comment gérer les demandes http à partir d'un navigateur en utilisant C#
Répondre
Il y a beaucoup d'exemples de code qui agissent comme des proxies (par exemple, http://code.cheesydesign.com/?p=393) mais je suggère fortement de suivre les conseils des commentaires qui vous ont été donnés et d'aller avec une application existante.
Construire un proxy qui n'interférera pas avec les applications web complexes d'aujourd'hui n'est pas trivial. Vous devez également faire attention au blocage en fonction des mots clés - les applications Web sur lesquelles j'ai travaillé ont échoué de manière spectaculaire en raison de proxies et en rejetant les demandes de fichiers javascript importants (souvent en raison de la compression ou de la compression).
Considérez également que votre proxy ne sera pas en mesure de vérifier le trafic SSL (qui augmente tout le temps) sans servir vos propres certs agissant en tant que man-in-the-middle.
- 1. Objective-C utilise les bibliothèques ASIHttp pour gérer les demandes d'authentification HTTP
- 2. compter les demandes http
- 3. Demandes http Clojure utilisant java.net.URLConnection?
- 4. Comment gérer les événements à partir des boutons du navigateur
- 5. Comment déterminer l'unicité des clients à partir des demandes http?
- 6. Comment gérer les demandes IMAP à partir de MSOutlook dans la page ASP.NET?
- 7. Comment rediriger les demandes entrantes de domain.com vers www.domain.com via HTTP et HTTPS en utilisant .htaccess?
- 8. Serveur HTTP qui gère les demandes via des périphériques IO?
- 9. HTTP POST Les demandes nécessitent plusieurs transmissions?
- 10. Http Digest Authentification, gérer des chartes de navigateur différents
- 11. Gérer l'accès HTTP aux référentiels git en utilisant gitosis
- 12. Comment s'assurer que les demandes http proviennent d'un emplacement spécifique?
- 13. Gérer plusieurs demandes avec ICallbackEventHandler
- 14. Traitement des demandes en utilisant des threads
- 15. Les demandes simultanées à un gestionnaire HTTP ne fonctionnent pas
- 16. can apache gérer les messages non-http
- 17. jmeter et mulitple demandes http
- 18. Tableau à partir des demandes
- 19. en utilisant les données jquery pour traiter les demandes RESTfull
- 20. Gérer la requête d'authentification www en utilisant ajax?
- 21. Comment gérer les constantes à l'échelle du projet dans un projet en utilisant C#?
- 22. Cross-navigateur télécharger de gros fichiers sur HTTP (en partie)?
- 23. Demande HTTP multiple en C#
- 24. demandes AJAX HTTP examen à l'aide de Web inspecteur
- 25. Comment gérer JSON en C#?
- 26. Comment modifier l'en-tête HTTP d'une requête en utilisant C#?
- 27. comment créer des en-têtes http à partir de zéro
- 28. comment gérer qdisc à partir du noyau
- 29. Client HTTP vraiment bizarre utilisant TcpClient en C#
- 30. Comment gérer les erreurs ou les demandes incorrectes dans mon API Rails REST?
Vous devriez utiliser l'un des produits gratuits ou payants pour le faire. Il n'y a pas grand intérêt à réinventer la roue - il y a une demi-douzaine de façons de contourner votre stratagème dans ma tête au moment où il m'a fallu taper ce commentaire. –
Vous devrez redéfinir votre méthodologie pour cela - le fichier hosts n'est vraiment pas la bonne façon de le faire et, comme vous le constatez, ne fonctionnera pas pour les nouvelles exigences que vous avez. Vous pourriez ne pas être en mesure de le faire en C#, car vous pourriez avoir à vous connecter à d'autres applications (IE, Firefox, etc.) – Joe
Mis à part le plaisir de l'écrire en C#, ce serait inutile car c'est fait aux niveaux de réseautage inférieurs pour intercepter les adresses et vérifier les demandes pour certains mots-clés, ce que fait un proxy web transparent pour vous. Vous devriez penser en termes de pile réseau où l'interception a lieu. Ce n'est pas une tâche impossible, mais pourquoi le faire comme Tom Ritter l'a souligné dans son commentaire. – t0mm13b