onurCC adlı üyeden alıntı: mesajı görüntüle
<?php
// Cloudflare API isteği yapmak için bir yardımcı fonksiyon
function cloudflare_api_istegi($url, $yontem = 'GET', $veri = null) {
    // API anahtarınızı ve diğer bilgilerinizi buraya girin
    $apiAnahtari = 'CLOUDFLARE_API_ANAHTARINIZ';
    $email = 'CLOUDFLARE_HESAP_EMAILINIZ';
    $zoneId = 'CLOUDFLARE_ZONE_ID';

    // API isteği için gerekli başlıklar
    $basliklar = [
        "X-Auth-Email: $email",
        "X-Auth-Key: $apiAnahtari",
        "Content-Type: application/json"
    ];

    // cURL ile API isteği gönderiyoruz
    $curl = curl_init();

    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $yontem); // GET, POST, PATCH, vb.
    curl_setopt($curl, CURLOPT_HTTPHEADER, $basliklar);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    // Eğer veri varsa, bunu JSON formatında gönderiyoruz
    if ($veri) {
        curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($veri));
    }

    $cevap = curl_exec($curl);
    $httpKodu = curl_getinfo($curl, CURLINFO_HTTP_CODE);

    curl_close($curl);

    // API cevabını ve HTTP durum kodunu döndürüyoruz
    return [
        'cevap' => json_decode($cevap, true),
        'httpKodu' => $httpKodu
    ];
}

// Under Attack Mode'u aktif/deaktif etmek için bir fonksiyon
function under_attack_modunu_ayarla($aktifMi) {
    global $zoneId;

    // Cloudflare Security Level ayarını değiştiriyoruz
    $url = "https://api.cloudflare.com/client/v4/zones/$zoneId/settings/security_level";
    $veri = [
        'value' => $aktifMi ? 'under_attack' : 'medium' // Aktifse "under_attack", değilse "medium"
    ];

    return cloudflare_api_istegi($url, 'PATCH', $veri);
}

// Belirli bir firewall kuralını aktif/deaktif etmek için bir fonksiyon
function firewall_kuralini_ayarla($kuralId, $aktifMi) {
    global $zoneId;

    // Firewall Rule ayarını değiştiriyoruz
    $url = "https://api.cloudflare.com/client/v4/zones/$zoneId/firewall/rules/$kuralId";
    $veri = [
        'paused' => !$aktifMi // Aktifse false, değilse true
    ];

    return cloudflare_api_istegi($url, 'PUT', $veri);
}

// Kullanıcıdan gelen talebe göre işlemleri gerçekleştiriyoruz
$underAttackAktifMi = true; // Under Attack Mode aktif mi?
$firewallKuralId = 'FIREWALL_KURAL_ID'; // Değiştirmek istediğiniz firewall kuralının ID'si

// Under Attack Mode'u ayarla
$underAttackSonuc = under_attack_modunu_ayarla($underAttackAktifMi);
if ($underAttackSonuc['httpKodu'] === 200) {
    echo "Under Attack Mode başarıyla " . ($underAttackAktifMi ? "aktif" : "deaktif") . " edildi.\n";
} else {
    echo "Under Attack Mode ayarlanırken hata oluştu.\n";
}

// Firewall kuralını ayarla
$firewallSonuc = firewall_kuralini_ayarla($firewallKuralId, $underAttackAktifMi);
if ($firewallSonuc['httpKodu'] === 200) {
    echo "Firewall kuralı başarıyla " . ($underAttackAktifMi ? "aktif" : "deaktif") . " edildi.\n";
} else {
    echo "Firewall kuralı ayarlanırken hata oluştu.\n";
}
Takdire şayan hareketinizden ötürü teşekkürlerimi sunarım. Doğru RULE_ID'yi nasıl elde edebilirim bilginiz var mı?