rn7.net/wiki

VocabulaireRDFAntiSpam

PagePrincipale :: rn7.net :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-54-156-69-204.compute-1.amazonaws.com
Ce vocabulaire entend permettre à des administrateurs de sites ouverts à l'expression des internautes (wikis, blogs, forum, etc.) de s'échanger des données pour permettre un traitement semi-automatique du SPAM. Ce vocabulaire traite de la pratique de SPAM la plus courante dans ce genre de cas : la publication de liens renvoyant à des sites choisis par le spammeur. Nous proposons donc ici un vocabulaire permettant, sous réserve de validation préalable, de filtrer les domaines qui sont l'objet de SPAM. [Attention : il ne s'agit pas de filtrer l'IP des spammeurs (ces derniers pouvant en changer très régulièrement), mais de filtrer les contenus publiés : on filtre donc les contenus qui contiennent des liens vers des sites qui n'ont rien à voir avec le sujet du wiki.] [Note pour moi-même : ce qui veut dire par exemple qu'un wiki dont le sujet serait le viagra, serait évidemment heureux d'accueillir certains liens que de nombreux autres sites considéreraient évidemment comme du SPAM. -- CharlesNepote.]

Principes

Principes généraux :

[à revoir] Contraintes :

Scénario d'usage


(imaginer un scénario ou un site propose à un autre site de lui fournir des domaines (push), permettant ainsi à un domaine d'être rapidemment signalé comme du SPAM dans un réseau de site toujours plus grand ?)

Cas d'utilisation

(rédigé selon la méthode UML des cas d'utilisation)

Déclaration d'un domaine comme étant objet de SPAM

Préalable : l'utilisateur est identifié sans quoi le cas est impossible.

Confirmation d'un domaine comme étant objet de SPAM

Préalable : l'utilisateur est identifié sans quoi le cas est impossible.
[à compléter]

Question : est-ce qu'un administrateur peut confirmer des domaines qu'il a lui-même déclarés ? Forcément dans le cas d'un wiki personnel. Cela peut-être aussi recommandable dans le cas d'une attaque massive où un seul admin est alors présent sur le site. On peut donc répondre oui à condition que cette information soit publiquement loguée sur le wiki.

Analyse d'un domaine avant publication

Préalable : l'utilisateur a validé son contenu et le système analyse chaque lien URL. Nous décrivons ici l'analyse d'un de ces liens.


Vocabulaire 1 (brouillon)

[à jardiner]
Il faut tout d'abord gérer l'association d'un nom domaine à son utilisation à des fins de SPAM :

Il faut aussi trouver un mécanisme social permettant d'être sûr que le nom de domaine déclaré n'est pas un site inexistant ou bien un site qui n'est pas utilisé à des fins de SPAM.





Vocabulaire au format N3

[à compléter]

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix : <#> .
:domain a rdfs:Class .
:site a rdfs:Class .
:name a rdf:Property .
:name a owl:InverseFunctionalProperty .
:name rdfs:domain :domain; rdfs:range rdf:Literal .

:saidToBeASpamOn a rdf:Property .
:saidToBeASpamOn rdfs:domain :site; rdfs:range :domain .

:confirmedToBeASpamOn a rdf:Property .
:saidToBeASpamOn rdfs:domain :site; rdfs:range :domain .

:revisionDate a rdf:Property .
:revisonDate rdfs:domain :domain; rdfs:range rdf:Literal .



Exemple d'utilisation

En N3, ça pourrait donner quelque chose comme :

@prefix spam_ont: <http://wikini.net/spam_ont/> .
@prefix : <#> .
:ceSite a spam_ont:site .

:domaine1 spam_ont:name "foufounette.org" .
:domaine1 spam_ont:saidToBeASpamOn :ceSite .
:domaine1 spam_ont:confirmedToBeASpamOn :ceSite .
:domaine1 spam_ont:revisionDate "2006-05-08" .


En français, ça se traduit par : sur le site internet "ceSite", le nom de domaine "foufounette.org" a été confirmé comme étant un objet de spam ; cette situation devra être réévaluée le 08/05/2006.

Pour ceux à qui ça ne dit pas grand chose, voici ce qui serait stocké comme triplet en base de donnée :
"http://www.wikini.net/anti-spam/domaine1", "http://wikini.net/spam_ont/name", "foufounette.org".
Pour intégrer ce vocabulaire à WikiNi, il suffit :


Ailleurs


Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]
Query log :
SELECT * FROM wikini_pages WHERE tag = 'VocabulaireRDFAntiSpam' AND latest = 'Y' LIMIT 1 (0.0003)
SELECT id, value FROM wikini_triples WHERE resource = "http://www.wikini.net/_vocabulary/handler/show" AND property = "http://www.wikini.net/_vocabulary/acls" (0.0002)
SELECT id, value FROM wikini_triples WHERE resource = "ThisWikiGroup:admins" AND property = "http://www.wikini.net/_vocabulary/acls" (0.0002)
select * from wikini_acls where page_tag = 'VocabulaireRDFAntiSpam' and privilege = 'write' limit 1 (0.0002)
select * from wikini_acls where page_tag = 'VocabulaireRDFAntiSpam' and privilege = 'read' limit 1 (0.0002)
SELECT * FROM wikini_pages WHERE tag = 'CharlesNepote' AND latest = 'Y' LIMIT 1 (0.0002)
SELECT * FROM wikini_pages WHERE tag = 'InverseFunctionalProperty' AND latest = 'Y' LIMIT 1 (0.0002)
SELECT * FROM wikini_pages WHERE tag = 'WikiNi' AND latest = 'Y' LIMIT 1 (0.0002)
select * from wikini_pages where comment_on = 'VocabulaireRDFAntiSpam' and latest = 'Y' order by substring(tag, 8) + 0 (0.0002)
SELECT id, value FROM wikini_triples WHERE resource = "http://www.wikini.net/_vocabulary/action/header" AND property = "http://www.wikini.net/_vocabulary/acls" (0.0002)
SELECT * FROM wikini_pages WHERE tag = 'DerniersChangements' AND latest = 'Y' LIMIT 1 (0.0002)
SELECT * FROM wikini_pages WHERE tag = 'DerniersCommentaires' AND latest = 'Y' LIMIT 1 (0.0002)
SELECT * FROM wikini_pages WHERE tag = 'ParametresUtilisateur' AND latest = 'Y' LIMIT 1 (0.0002)
SELECT id, value FROM wikini_triples WHERE resource = "http://www.wikini.net/_vocabulary/action/footer" AND property = "http://www.wikini.net/_vocabulary/acls" (0.0002)
select * from wikini_acls where page_tag = 'VocabulaireRDFAntiSpam' and privilege = 'write' limit 1 (0.0002)
0.003 s (total SQL time)
0.0502 s (total time)
SQL time represent : 6.01% of total time