
Désactiver l'IPV6 depuis l'API de Cloudflare
Désactiver l'IPV6 chez Cloudflare
Cloudflare impose d'utiliser l'IPV6 par défaut et n'offre pas la possibilité de désactiver l'option depuis l'interface, le bouton est grisé. La méthode à préconiser consiste à passer par leur API en effectuant une requête CURL. Plus d'informations sur leur documentation.
Cloudflare doit être activé sur votre site, vos champs DNS doivent ponter chez eux.
A ce jour, notre service ne supporte pas l'IPV6 pour des raisons de sécurité, mais aussi pour palier à la fraude aux votes. Il est en effet très facile de se procurer de nombreuses plages d'IPV6 pour quelques euros. Nous travaillons sur le problème, et nous supporterons l'IPV6 dans un avenir très proche dès que nos systèmes seront opérationnels pour traiter efficacement ce type de fraude.
Pour effectuer les actions qui vont suivre, vous devez être connecté sur votre compte Cloudflare.
Récupérer la clé Global API Key
- Cliquez en haut à droite sur votre image de profil puis sur "My Profile"
- Sur la page suivante, cliquez sur "API Tokens"
- Au bas de cette page, cliquez sur "View" à droite de "Global API Key"
- Notez votre clé Global API Key.
Récupérer l'URL d'API
- Dans le menu principal, en haut, cliquez sur "Network"
- Scrollez la page jusqu'à temps de trouver "IPv6 Compatibility"
- En dessous de IPV6 Compatibility, cliquez sur le lien bleu "API"
- Notez ensuite l'URL sous (PATCH Change IPv6 setting)
Créez une page PHP appelée ipv6.php qui contient le code ci-dessous
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.cloudflare.com/settings/ipv6...');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"value\":\"off\"}");
$headers = array();
$headers[] = 'X-Auth-Email: [email protected]'; // Adresse e-mail de votre compte Cloudflare
$headers[] = 'X-Auth-Key: Macléici'; // Spécifiez votre clé Global API Key
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
echo $result;
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
}
curl_close($ch);
?>
Modifiez dans le code ci-dessus les valeurs en rouge par :
- X-Auth-Email : par l'adresse e-mail de votre compte Cloudflare
- X-Auth-Key : par la clé Global API Key
- CURLOPT_URL : par l'URL d'API
Envoyez le fichier PHP dans le répertoire racine de votre hébergeur, et rendez-vous sur votredomaine.com/ipv6.php
Vous avez désactivé l'IPV6 avec succès.
Afficher l'IP d'un utilisateur
Si vous utilisez Cloudflare, vous devez utiliser la technique ci-dessous pour récupérer l'adresse IP de l'utilisateur. Nous vous conseillons de placer ce code au début de chaque page (avant tout chargement textuel)
<?php
// Cloudflare traitement IP
if(isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
?>
Vous utiliserez ensuite le code suivant pour afficher l'IP de l'utilisateur
<?php echo $_SERVER['REMOTE_ADDR']; ?>