. Requêtes .

Les requêtes au service de modération JungleKey sont formulées grâce à la fonction PHP file_get_contents(), avec la méthode POST.
Les fonctions telles que include() et fopen(), ainsi que la méthode GET, sont interdites. Au mieux elles retourneront des erreurs.

Le service renvoie une chaîne de chiffres sous la forme : "0;0;0;0;". Cette chaîne signifie, dans l'ordre : nombre de termes de catégorie "hard" détectés = 0, catégorie "tangent" = 0, catégorie "insult" = 0, catégorie "sensible" = 0. Voir plus bas pour la signification exacte des catégories et des systèmes isolés.

La méthode POST et la fonction file_get_contents() ont deux avantages : elles procurent une grande souplesse de travail et une sécurité croissante grâce aux contextes de flux implémentés de façon générale sous PHP 5.

Utilisez le script de soumission suivant, seules les indications en gras sont à changer :


. Script .

// ****** SCRIPT ANTISPAM JungleKey ******

// Votre chaîne de caractères à filtrer
$spam_string=$votre variable contenant la chaîne de caractères à filtrer;

// Si votre chaîne de caractères à filtrer est déjà encoder en UTF-8 : ne pas garder cette ligne
$spam_string=utf8_encode($spam_string);


// Fonction d'encodage des headers à envoyer
function spam_http_build_headers($spam_post_headers)
{
$spam_post_headers_built="";
foreach($spam_post_headers as $name => $value)
{
$spam_post_headers_built.=$name.": ".$value."\r\n";
}
return $spam_post_headers_built;
}

// Formulaire POST à envoyer
$spam_post_data=array('spam_post_query' => $spam_string, 'spam_post_code' => 'aHR0cDovL2JhbGthbnMuY291cnJpZXJzLmluZm8vd2lraS8wLDAuaW5kZXguaHRtbA');

// Requête à envoyer
$spam_post_content=http_build_query($spam_post_data);
$spam_post_headers=spam_http_build_headers(array(
'Content-Type' => 'application/x-www-form-urlencoded',
'Content-Length' => strlen($spam_post_content)));

// Création du contexte de flux
$spam_post_options=array('http' => array('method' => 'POST',
'content' => $spam_post_content,
'header' => $spam_post_headers));
$spam_post_context=stream_context_create($spam_post_options);

// Ouverture du flux - Les données reçues, sous la forme "0;0;0;0;", sont placées dans $spam_values
$spam_values=file_get_contents('http://www.junglekey.com/services/antispam/moderation.php5', false, $spam_post_context);

// ****** FIN DU SCRIPT ******


Il vous appartient d'écrire vos scripts et vos méthodes d'analyses des valeurs renvoyées.
Vous pouvez récupérer les valeurs de cette façon :


// **** //
$list=split(";", $service_antispam_junglekey_values);
$hard=$list[0]; $tangent=$list[1]; $insult=$list[2]; $sensible=$list[3];
// **** //


. Catégories .

Dans notre exemple, le résultat "0;0;0;0;" indique qu'aucun terme hard, tangent, insult ou sensible n'a été détecté. Les chiffres s'incrémentent de 1 pour chaque terme détecté.

La catégorie "hard" contient les spams sans équivoques : il n'y a aucun doute sur la brutalité du spam.

La catégorie "tangent" contient des termes équivoques : il est difficile de les déterminer à coup sûr comme spams durs. Cette catégorie pourrait s'appeler "suspect". Plusieurs termes tangents dans un même message indiquent souvent un spam dur.

La catégorie "insult" contient des termes complexes sans équivoques. Certains développeurs préfèrent extraire de la catégorie "tangent" les termes composés de plusieurs mots. Le verbe "voir" n'ayant aucune connotation négative ou suspecte, appartient cependant à la catégorie "insult" sous la forme "va te faire voir".

La catégorie "sensible" contient des termes sensibles à surveiller tels que le suicide ou l'anorexie.


. Systèmes Isolés .

Il est important de laisser le spam vivre, un peu. L'action du spam et la contre-action du filtre anti-spam sur le même axe en sens opposé, crée sur un axe perpendiculaire de la frustration croissante : le spam devient de plus en plus dur. Heureusement, il est facile de lutter contre le spam dur. Par contre, il ne reste souvent aux spammeurs que le spam mou ou suspect pour s'exprimer, difficile à détecter.

Ce filtre anti-spam est utilisé sur http://www.junglekey.fr/junior.php pour filtrer les résultats à caractères sexuels, violents ou de jeux d'argent, pour protéger les enfants.
Ce filtre est utilisé aussi sur http://www.junglekey.fr/wiki/ et http://www.metrographe.fr/ pour filtrer les spams durs.