WAIPChecker pour Beta tests
...
Version Bêta de mon Web Access IP Checker version Bêta1
L'application vous est proposée tel que.
Les interfaces ne sont pas complètement finalisées, mais elle fonctionne correctement sur les sites pour lesquels je l'ai implémentée.
(j'en publierai une version plus aboutie d'ici quelques temps).
Si vous utilisez ou testez cette application, je suis preneur de vos commentaires, rapports d'erreurs et des idées d'évolution qui permettraient de l'optimiser.
Avis donc aux Bêta testeurs potentiels
...
Version Bêta de mon Web Access IP Checker version Bêta1
L'application vous est proposée tel que.
Les interfaces ne sont pas complètement finalisées, mais elle fonctionne correctement sur les sites pour lesquels je l'ai implémentée.
(j'en publierai une version plus aboutie d'ici quelques temps).
Si vous utilisez ou testez cette application, je suis preneur de vos commentaires, rapports d'erreurs et des idées d'évolution qui permettraient de l'optimiser.
Avis donc aux Bêta testeurs potentiels
...
...
Principe de l'application
La version Bêta se limite à un contrôleur d'adresse IP. Ce n'est pas encore, dans cette version, un vrai redirecteur Web (ce le sera plus tard).
Lorsqu'un navigateur distant se connecte à une des pages de votre site Web, vous pouvez récupérer l'adresse IP de ce navigateur et la soumettre à l'agent IPControl de cette application.
L'adresse IP est alors confrontée à la BlackList httpbl.org. Si l'adresse est blackListée, le serveur DNS renvoie un code spécifique.
En fonction de ce code et des paramètres de configuration que vous aurez définis, l'agent de contrôle d'adresses Notes retourne une variable vous permettant de laisser entrer ou de bloquer l'utilisateur distant.
Vous pouvez optionellement définir, dans l'application, une page de redirection à appeler et renvoyer au navigateur Web distant.
...
Principe de configuration
Dans mon exemple, tout le contenu de la page Web est affiché dans un champ TexteRiche nommé Body.
Si je veux remplacer le contenu initialement prévu par celui qui a été configuré dans la base de contrôle (paramétrage de la base de contrôle) :
If blocked=1 Then
Dim actionParam As NotesDocument
Set actionparam=Db.GetProfileDocument("DBProfile")
If actionparam.redirect(0)="1" Then
Dim replacementText As NotesRichTextItem
Set Render = New notesrichtextitem(doc, "Body")
Set replacementText=actionParam.Getfirstitem("RedirectPage")
Call rtRender.Appendrtitem(replacementText)
If actionParam.accessLog(0)="1" Then
Dim logDoc As NotesDocument
Set logdoc = New NotesDocument(db)
With logdoc
.Form="AccessLog"
.color="00ff0000"
.adresse=CGI_UserAddress
.path=CGI_PathInfo
.server=CGI_ServerName
.Message="user has been redirected to central redirection page"
End With
Call logdoc.save(True,False)
End If
Exit Sub
End If
End If
Le If actionParam.accessLog(0)="1" permet de créer une entrée dans le log de la base de contrôle en cas de redirection.
...
Droits de l'application
Cette application, et le code qu'elle contient, vous sont fournis gratuitement à des fins d'utilisation non commerciale.
Vous êtes libre de l'installer et de la faire fonctionner sur vos serveurs Web Domino.
Vous n'êtes pas autorisés à en faire quelque exploitation commerciale que ce soit, prestation, négoce ou revente.
...
Téléchargement
WAIPChecker beta1
Principe de l'application
La version Bêta se limite à un contrôleur d'adresse IP. Ce n'est pas encore, dans cette version, un vrai redirecteur Web (ce le sera plus tard).
Lorsqu'un navigateur distant se connecte à une des pages de votre site Web, vous pouvez récupérer l'adresse IP de ce navigateur et la soumettre à l'agent IPControl de cette application.
L'adresse IP est alors confrontée à la BlackList httpbl.org. Si l'adresse est blackListée, le serveur DNS renvoie un code spécifique.
En fonction de ce code et des paramètres de configuration que vous aurez définis, l'agent de contrôle d'adresses Notes retourne une variable vous permettant de laisser entrer ou de bloquer l'utilisateur distant.
Vous pouvez optionellement définir, dans l'application, une page de redirection à appeler et renvoyer au navigateur Web distant.
...
Principe de configuration
- Signez le template avec un ID de votre organisation autorisé à exécuter des méthodes non restrictive. L'agent de vérification des adresses IP nécessite un accès socks.
- vous devez ensuite commencer par créer un compte sur HoneyPot
- une fois votre clé HoneyPot obtenue, renseignez la dans les paramètres de l'application (bouton Configuration depuis les vues AccessLog, champ User Access key)
- configurez les options de l'application.
- activez l'agent de purge
...
Principe d'utilisation
Une fois la base de contrôle d'adresses configurée, vous devez, pour pouvoir l'utiliser, effectuer quelques modifications sur le code de vos pages Web.
Il vous faut premièrement ajouter trois champs CGI aux pages que vous souhaitez soumettre pour contrôle : - Server_Name (renvoie l'URL du serveur courant à fins de Log)
- Path_Info (permet de connaître et de tracer les pages consultées)
- Remote_Addr (ce champ permet d'identifier
l'adresse IP distante)
Il suffit d'ajouter ces champs dans le code de vos applications, type Texte, Editable, masqué aux utilisateur Web (cf. aide Domino Designer pour plus d'informations)
Vous devez ensuite requêter l'agent IPControl depuis vos pages Web afin d'obtenir des informations sur l'adresse IP distante.
Il existe de nombreuses possibilités en fonction de la structure de vos sites Web.
On peut, par exemple, utiliser l'événement WebQueryOpen d'un masque, ou insérer l'appel à IPControl dans un agent ou une bibliothèque spécifique à votre application Web.
Exemple d'un agent appelé depuis un WebQueryOpen :
Dim CGI_ServerName As String
Dim CGI_PathInfo As String
Dim CGI_UserAddress As String
Dim doc As notesdocument
Dim db As notesdatabase
Dim agent As NotesAgent
Dim Render As notesrichtextitem
Dim session As New notessession
Set doc = session.DocumentContext
Set Db=session.getdatabase(db.server,"nom de fichier de la base de contrôle.nsf")
Dim controlDoc As NotesDocument
Set controldoc = New NotesDocument(distdb)
controlDoc.REMOTE_ADDR=doc.REMOTE_ADDR
controlDoc.PATH_INFO=doc.PATH_INFO
controlDoc.SERVER_NAME=doc.SERVER_NAME
Call controlDoc.save(True,False)
Set agent=db.Getagent("(IPControl)")
Call agent.run(controldoc.noteid)
Le document ControlDoc, référencé dans le code ci dessus, contient une variable Statut qui peut prendre les valeurs : - Blocked, si votre paramétrage interdit l'accès
- Pass, si l'adresse n'est pas
blacklistée ou en fonction de votre paramétrage d'accès aux adresses blacklistées
Si l'on souhaite ensuite réutiliser le résultat du contrôle :
Dim blocked As Integer
If (UCase(controlDoc.statut(0))="BLOCKED") Then
blocked=1
Else
blocked=0
End If
Call controlDoc.Removepermanently(True)
Dans mon exemple, tout le contenu de la page Web est affiché dans un champ TexteRiche nommé Body.
Si je veux remplacer le contenu initialement prévu par celui qui a été configuré dans la base de contrôle (paramétrage de la base de contrôle) :
If blocked=1 Then
Dim actionParam As NotesDocument
Set actionparam=Db.GetProfileDocument("DBProfile")
If actionparam.redirect(0)="1" Then
Dim replacementText As NotesRichTextItem
Set Render = New notesrichtextitem(doc, "Body")
Set replacementText=actionParam.Getfirstitem("RedirectPage")
Call rtRender.Appendrtitem(replacementText)
If actionParam.accessLog(0)="1" Then
Dim logDoc As NotesDocument
Set logdoc = New NotesDocument(db)
With logdoc
.Form="AccessLog"
.color="00ff0000"
.adresse=CGI_UserAddress
.path=CGI_PathInfo
.server=CGI_ServerName
.Message="user has been redirected to central redirection page"
End With
Call logdoc.save(True,False)
End If
Exit Sub
End If
End If
Le If actionParam.accessLog(0)="1" permet de créer une entrée dans le log de la base de contrôle en cas de redirection.
...
Droits de l'application
Cette application, et le code qu'elle contient, vous sont fournis gratuitement à des fins d'utilisation non commerciale.
Vous êtes libre de l'installer et de la faire fonctionner sur vos serveurs Web Domino.
Vous n'êtes pas autorisés à en faire quelque exploitation commerciale que ce soit, prestation, négoce ou revente.
...
Téléchargement
WAIPChecker beta1
-