2009-04-07 6 views
1

Est-il possible d'envoyer des messages HTML personnalisés aux utilisateurs lorsqu'ils commencent une session via un serveur proxy Squid?Envoi de messages aux utilisateurs de proxy Squid

Je veux être en mesure de rediriger un utilisateur première demande au message " du jour " .... le reste de leurs demandes de navigation pour le reste de la session aller sans être redirigé .... Étapes détaillées:

  1. L'utilisateur ouvre un navigateur. (Navigateur est configuré pour utiliser le proxy Squid)
  2. L'utilisateur ouvre http://google.com (ou une autre URL de leur choix)
  3. Au lieu de se Google.com ils sont redirigés vers http://somewhere.else.com/MOD.html
  4. utilisateur lit le MOD
  5. Types d'utilisateurs http://google.com nouveau (ou autre URL de leur choix) Cette fois, le navigateur va à la bonne destination sans redirection.

Est-ce que je dois développer ou trouver un Squid Proxy Server Plug-in pour effectuer ce genre d'action ou est-ce quelque chose que le serveur SQUID peut faire avec un peu de code personnalisé ?? (Perl etc)

Répondre

3

Il y a une ligne dans le confid squ que vous pouvez ajouter comme redirect_script. Ecrire un programme Perl qui prend des entrées - une URL par ligne. Il affiche l'URL vers laquelle vous allez rediriger l'utilisateur. Le script UpsideDownTernet est un exemple.

Maintenant, changez le script pour sortir votre MOTD la première fois, et à chaque fois, faites juste écho à l'URL.

Le problème est, comment différenciez-vous les demandes des utilisateurs? Eh bien à ce stade, vous devez utiliser une ligne de redirect_program au lieu de redirect_script ...

Squid passera dans plusieurs arguments au programme:

URL ip-address/fqdn ident method 

URL is the URL requested 
ip-address/fqdn is the IP address or fully qualified domain name of the client (web browser) which requested the page. 
ident is the identity of the user running the web browser. Unless you configure squid to do ident lookups, this will be "-". 
method is the request method: "GET", "POST", "HEAD" 

Référence: http://taz.net.au/block/

À ce moment-là, vous pouvez modifiez votre script pour déterminer le "timeout" que chaque utilisateur obtient entre voir le MOTD (par exemple s'il ne visite pas un site Web pendant 12 heures, il reçoit le message) ou autre.

+0

Pouvez-vous craifier ce que vous voulez dire par "vous devez utiliser une ligne redirct_program au lieu de redirect_script ..." – Hortitude

+0

Sure calid a deux options de configuration: redirect_script et redirect_program. Voici plus d'informations sur redirect_program http://www.visolve.com/squid/squid24s1/externals.php Je-pensais-redirect_script était une version «bébé» de redirect_program qui a pris moins d'arguments. Maintenant que j'ai fait des recherches Google, il est possible qu'ils ne soient que des alias les uns des autres; Je devrais vérifier la source. –

Questions connexes