Ungahlanza kanjani ngokuzenzakalelayo futhi ngamaqoqo imithetho yokufinyelela i-IP ephawuliwe ku-WAF usebenzisa i-Cloudflare API ne-Python

Uma uhlu lwakho lwemithetho ye-firewall selukhule lwaba izinkulungwane zezinto ezifakiwe, ukuzisusa ngesandla kufana nokubala izinhlayiya zesihlabathi ehlane—kudla isikhathi futhi kubuhlungu.

Kuleli qophelo, izikripthi ezenzakalelayo ziba ukusindisa impilo.

Kungani kudingeka imithetho yokuhlanza ngokuzenzakalelayo?

Uma sisebenzisa i-Cloudflare njenge-CDN kanye ne-WAF, sivame ukudinga ukumisa... Imithetho Yokufinyelela i-IP Ukuvimba izicelo ezinonya.

Le mithetho ingafaka phakathi imibono, njengokuthi "Kuvinjelwe yi- AIB ",Ukuvumelanisa kwe-Wordfence Noma "Ikheli le-IP lomhlaseli liyaziwa",

Inani lemithetho lizokhula ngokushesha ngokuhamba kwesikhathi.

Uma ingahlanzwa, imithetho eku-console izonqwabelana, ithinte ukusebenza kahle kokuphatha.

Okwenza izinto zibe zimbi kakhulu, ikhonsoli ye-Cloudflare ayinikezi isici "sokususa ngokuchofoza okukodwa ngokuphawula".

Lokhu kusho ukuthi ungazikhetha futhi uzisuse ngesandla kuphela, okuyinto engasebenzi kahle kakhulu.

Isixazululo

Ukuxazulula le nkinga, singasebenzisa I-Cloudflare REST API,

Ngokubiza firewall/access_rules/rules Izixhumi kanye nezikripthi zingenza lokhu:

  • Thola ukuhlukaniswa kwamakhasiYonke imithetho ngaphansi kwesizinda samanje.
  • Amazwana afanayoAmagama angukhiye ensimini.
  • Qalisa ngokuzenzakalelayo isicelo se-DELETEImithetho yokuhlanza amaqoqo.

Le ndlela ayisebenzi nje kuphela, kodwa futhi igwema amaphutha abantu.

Ungahlanza kanjani ngokuzenzakalelayo futhi ngamaqoqo imithetho yokufinyelela i-IP ephawuliwe ku-WAF usebenzisa i-Cloudflare API ne-Python
Ungahlanza kanjani ngokuzenzakalelayo futhi ngamaqoqo imithetho yokufinyelela i-IP ephawuliwe ku-WAF usebenzisa i-Cloudflare API ne-Python

Umsebenzi wokulungiselela

Ngaphambi kokuthi uqale ukubhala iskripthi, udinga ukulungiselela amapharamitha amaningana ayisihluthulelo.

1. Ithokheni ye-API

Iya ku Ikhasi lamathokheni e-Cloudflare API Dala ithokheni entsha.

Izimvume kumele zinikezwe:Indawo → Amasevisi Omlilo → Hlela,

2. I-ID Yendawo

Ngena ngemvume ku-console ye-Cloudflare bese uya kusizinda sakho... Ikhasi lokubuka konkeUngathola i-Zone ID enezinombolo ezingu-32 ngakwesokudla.

3. Faka amalabhulali okuthembela

Sebenzisa i-PowerShell noma i-terminal:

python -m pip install requests

Lokhu kuzokuvumela ukuthi uyifake. requests Umtapo wolwazi uqinisekisa ukuthi iskripthi singabiza i-API ngendlela efanele.

Isikripthi se-Python esiphelele

Ngezansi kukhona iskripthi se-Python esilungele ukusetshenziswa.

Igcine njenge cloudflare_clean.pyShintsha API_TOKEN Kanye ZONE_ID Yilokho kuphela.

import requests

API_TOKEN = "你的_API_TOKEN"
ZONE_ID = "你的_ZONE_ID"
TARGET_NOTE = "Blocked by AIB"

headers = {
    "Authorization": f"Bearer {API_TOKEN}",
    "Content-Type": "application/json",
}

def delete_matching_ip_rules_zone():
    page = 1
    deleted_count = 0

    while True:
        url = f"https://api.cloudflare.com/client/v4/zones/{ZONE_ID}/firewall/access_rules/rules?page={page}&per_page=100"
        response = requests.get(url, headers=headers)

        if response.status_code != 200:
            print(f"请求失败: {response.text}")
            break

        data = response.json()
        rules = data.get("result", [])
        if not rules:
            break

        for rule in rules:
            rule_id = rule.get("id")
            rule_value = rule.get("configuration", {}).get("value")
            rule_notes = rule.get("notes", "")

            if TARGET_NOTE in rule_notes:
                del_url = f"{url}/{rule_id}"
                del_res = requests.delete(del_url, headers=headers)
                if del_res.json().get("success"):
                    print(f"✅ 删除成功: {rule_value}")
                    deleted_count += 1

        result_info = data.get("result_info", {})
        total_pages = result_info.get("total_pages", 1)
        if page >= total_pages:
            break
        page += 1

    print(f"清理完成,共删除 {deleted_count} 条规则。")

if __name__ == "__main__":
    delete_matching_ip_rules_zone()

Qalisa iskripthi

Faka okulandelayo ku-terminal:

python /path/to/cloudflare_clean.py

Iskripthi sizoskena ngokuzenzakalelayo futhi sisuse imithetho enamazwana acacisiwe.

Imibuzo Evame Ukubuzwa kanye Nomhlahlandlela Wokuxazulula Izinkinga

1. Izimvume ze-Zone vs Akhawunti

  • Imithetho yezinga lendawo: isebenza kuphela kusizinda esisodwa.
  • Imithetho yezinga le-akhawunti: Isebenza kuyo yonke i-akhawunti; idinga ukuguqulwa kwendlela ye-API. /accounts/{ACCOUNT_ID}/...,

2. Ukubika amaphutha okuqinisekisa

Uma kubonakala 403 Authentication errorLokhu ngokuvamile kungenxa yokulungiselelwa kwesilinganiso semvume esingalungile.

Qinisekisa ukuthi imvume yethokheni ifaka phakathi Amasevisi Omlilo → Hlela,

3. Indlela yokuhlanganisa amakhasi

I-Cloudflare API ibuyisa imithetho engaphezu kwe-100 ngesikhathi.

Isikripthi siyadlula result_info.total_pages Ukujika ikhasi ngokuzenzakalelayo kuqinisekisa ukuskena okuphelele.

Kungani Ukuzenzakalela Kuyisinqumo Esingenakugwenywa

Esimweni sokukhiqiza sangempela, inani lemithetho lingadlula kalula [umkhawulo othile]. 5000 条,

Ukususa ngesandla akugcini nje ngokuthatha isikhathi, kodwa futhi kuthambekele ekushiyeni.

Ngezikripthi ezenzakalelayo, ungakwazi:

  • Imithetho ephelelwe yisikhathi iyasulwa nsuku zonke.
  • Gcina uhlu lwakho lwemithetho ye-firewall luhlanzekile.
  • Ukuze kugwenywe ukuvimbela ngephutha abasebenzisi abasemthethweni.

Le ndlela yenza ukuphathwa kokuphepha kwewebhusayithi kube ngcono kakhulu.

Imibhalo esemthethweni ye-Cloudflare isho ngokusobala ukuthi:

"I-API inikeza ukufinyelela okuhleliwe kokuphatha imithetho ye-firewall, okuhlanganisa ukudalwa, ukufakwa ohlwini, kanye nokususwa."
来源:Imibhalo ye-Cloudflare API

Lokhu kubonisa ukuthi i-API esemthethweni inikeziwe, kodwa umsebenzi wokususa i-batch awukaqaliswa ku-console.

Isiphetho

Ezweni lokuphepha kolwazi, ukusebenza kahle kuwukuvikela.

Ngokubiza i-Cloudflare API ngokusebenzisa izikripthi ze-Python, asigcinanga nje ngokunqoba imikhawulo yekhonsoli, kodwa futhi sangenisa inkathi yokwenza izinto ngokuzenzakalela yokuphathwa kwemithetho ye-firewall.

Lokhu yi Inhlanganisela yobuchwepheshe nokuhlakaniphaLokhu futhi kuyindlela engenakugwenywa yokusebenza kokuphepha kwewebhusayithi.

Abaqeqeshi beqiniso abachithi izinsuku zabo bechofoza igundane kukhonsoli; basebenzisa ikhodi ukwenza imishini yenze umsebenzi onzima kubo.

Ngakho-ke masithathe isinyathelo.

Yenza imithetho yakho yokuvikela umlilo isebenze njengewashi elinembile, hhayi ingxubevange yodoti wedijithali ongcolile.

Umongo wokuphepha ukuhleleka. Futhi ngemuva kokuhleleka kulele ukuzenzekela.

I-Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ Isihloko esithi "Indlela Yokuhlanza Ngokuzenzakalelayo Imithetho Yokufinyelela I-IP Ngamazwana Acacisiwe ku-WAF Usebenzisa i-Cloudflare API + Python" esabelwe lapha singase sibe usizo kuwe.

Siyakwamukela ukwabelana ngesixhumanisi salesi sihloko:https://www.chenweiliang.com/cwl-34436.html

Ukuze uvule amaqhinga afihliwe🔑, wamukelekile ukujoyina isiteshi sethu seTelegram!

Yabelana futhi uthanda uma uthanda! Ukwabelana kwakho nokuthanda kwakho kuyisikhuthazo sethu esiqhubekayo!

 

发表 评论

Ikheli lakho le-imeyili ngeke lishicilelwe. 必填 项 已 用 * Ilebula

Skrolela Top