Vérificateur de liens
Le vérificateur de liens examine la forme d’une URL et signale les alertes classiques d’une arnaque : un raccourcisseur qui masque la destination, un @ pour déguiser l’hôte réel, un hôte réduit à une adresse IP, un domaine sosie fabriqué en punycode.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Il lit l’adresse ; il n’ouvre pas la page, ne suit pas les redirections et n’interroge aucune base de menaces. Il vous aide à décider s’il est prudent d’ouvrir un lien avant même de cliquer.
Vérifier avant d’ouvrir, jamais après
Le danger d’un lien piégé se joue au clic : une page frauduleuse peut imiter votre banque ou un service public dès qu’elle s’affiche. Le principe ici est simple : vous collez l’adresse, le service en examine la forme, et vous décidez ensuite. Vous n’avez pas à ouvrir le lien pour l’examiner. C’est le bon réflexe face à un « avis de colis » ou à un « remboursement » inattendu.
Sur quoi repose le verdict
Le verdict repose sur la forme de l’URL, pas sur une base de réputation. Le service repère les signaux structurels dont abusent les fraudeurs : un raccourcisseur (bit.ly, tinyurl, goo.gl) qui cache la destination réelle, un @ inséré pour faire passer un hôte hostile pour un site de confiance, un hôte réduit à une adresse IP brute plutôt qu’un domaine, des caractères punycode (xn--) qui fabriquent un domaine sosie. Le résultat indique si le lien présente l’un de ces signaux, en précisant lequel a été détecté.
Les limites, dites clairement
Un lien sans signal structurel n’est pas une garantie : une page frauduleuse hébergée sur un domaine d’apparence normale, sans raccourcisseur ni déguisement, ne déclenche aucune alerte. Cette capacité est en bêta et repère des signaux de forme, pas la réputation d’un site ; elle réduit le risque, elle ne le supprime pas. Gardez le réflexe de ne jamais saisir d’identifiants sur une page atteinte depuis un message non sollicité.
Depuis le web ou en automatique
La vérification se lance depuis cette page, ou s’appelle via l’API pour contrôler à la volée les liens soumis par vos utilisateurs — commentaires, messages, formulaires. Elle est facturée $0.002 par lien en dollars US, tarif affiché sans abonnement. Applications mobiles, e-mail et Telegram viendront compléter les canaux.
Cas d’usage
SMS de suivi de colis douteux
Nadia reçoit un SMS annonçant un colis « bloqué » avec un lien de paiement de 1,99 €. Plutôt que de cliquer, elle colle l’adresse : c’est un raccourcisseur qui masque la destination, signalé comme suspect — de quoi se méfier.
Faux e-mail administratif
Un message se présentant comme impots.gouv promet un remboursement via un lien. L’URL est un domaine sosie fabriqué en punycode, imitant le domaine officiel : le signal est détecté avant tout clic.
Modération des liens d’un forum
Menuiserie Rousseau & Fils anime un petit forum client. Chaque lien posté par un membre passe à la vérification à la publication, ce qui signale les raccourcisseurs et les domaines sosies.
Questions fréquentes
Le lien ne présente aucun signal : puis-je cliquer les yeux fermés ?
Pas tout à fait. « Aucun signal » veut dire que l’adresse ne présente aucun des motifs repérés — raccourcisseur, @, IP brute, punycode. Une page frauduleuse sur un domaine d’apparence normale peut passer entre les mailles. Restez prudent, surtout si le lien vient d’un message inattendu.
Sur quoi repose le verdict ?
Sur la forme de l’URL elle-même, pas sur une base de réputation : raccourcisseur qui masque la destination, @ trompeur, hôte réduit à une adresse IP, domaine sosie en punycode. Le service ne suit pas les redirections et n’ouvre pas la page.
Faut-il ouvrir le lien pour le vérifier ?
Non, et c’est tout l’intérêt. Vous collez l’adresse sans jamais l’ouvrir ; le service se charge d’en examiner la forme. Vous ne prenez aucun risque en l’examinant.
Combien coûte une vérification ?
$0.002 par lien analysé, en dollars US, tarif affiché sans abonnement. Sans compte: l’achat de l’accès se fait directement, en une fois.
Les liens que je vérifie sont-ils conservés ?
L’adresse est traitée sur nos serveurs, via une connexion chiffrée, le temps de produire le verdict, puis n’est pas conservée pour d’autres usages. Elle sert uniquement à la vérification que vous demandez.
Pourquoi cette capacité est-elle en bêta ?
Parce que les signaux structurels repérés continuent d’être affinés. Le service est déjà utile pour écarter les liens visiblement déguisés, mais nous préférons ne pas le présenter comme infaillible.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/verify/url-safe \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://bit.ly/xyz"}'const res = await fetch("https://api.kit.forhosting.com/verify/url-safe", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://bit.ly/xyz"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/url-safe",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://bit.ly/xyz"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/url-safe", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://bit.ly/xyz"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://bit.ly/xyz"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/url-safe", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"url": "https://bit.ly/xyz"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.url_safe",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |