2009-11-27 3 views
1

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#

+2

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. –

+1

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

+0

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

Répondre

0

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.

Questions connexes