Eğitimler

Ortam Değişkenlerinde CaptchaAI Kimlik Bilgilerinin Güvenliğini Sağlama

API anahtarlarının kaynak koduna sabit kodlanması, depo erişimi olan herkesin (veya kodunuzu halka açık bir depoda bulan herkesin) anahtarınıza sahip olduğu anlamına gelir. Ortam değişkenleri kimlik bilgilerini kodun, sürüm kontrolünün ve günlüklerin dışında tutar.


.env dosyası (yerel geliştirme)

Proje kökünüzde bir .env dosyası oluşturun:

CAPTCHAAI_API_KEY=your_actual_api_key_here

Hemen .gitignore'ye ekleyin:

# .gitignore
.env
.env.local
.env.production

Python (python-dotenv)

pip install python-dotenv
import os
from dotenv import load_dotenv

load_dotenv()

API_KEY = os.environ["CAPTCHAAI_API_KEY"]

# Use in API calls
import requests
resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY,
    "method": "userrecaptcha",
    "googlekey": "6Le-SITEKEY",
    "pageurl": "https://example.com",
    "json": "1",
})
print(resp.json())

JavaScript (dotenv)

npm install dotenv
require('dotenv').config();

const API_KEY = process.env.CAPTCHAAI_API_KEY;

if (!API_KEY) {
  console.error('CAPTCHAAI_API_KEY not set');
  process.exit(1);
}

// Use in API calls
const axios = require('axios');
const resp = await axios.post('https://ocr.captchaai.com/in.php', null, {
  params: {
    key: API_KEY,
    method: 'userrecaptcha',
    googlekey: '6Le-SITEKEY',
    pageurl: 'https://example.com',
    json: 1,
  },
});
console.log(resp.data);

Sistem ortamı değişkenleri

.env dosyalarını kullanmak yerine değişkenleri işletim sistemi düzeyinde ayarlayın:

Linux / macOS

export CAPTCHAAI_API_KEY="your_actual_api_key_here"

# Persist across sessions — add to ~/.bashrc or ~/.zshrc
echo 'export CAPTCHAAI_API_KEY="your_actual_api_key_here"' >> ~/.bashrc

Windows (PowerShell)

$env:CAPTCHAAI_API_KEY = "your_actual_api_key_here"

# Persist permanently
[System.Environment]::SetEnvironmentVariable("CAPTCHAAI_API_KEY", "your_actual_api_key_here", "User")

Liman işçisi

Liman işçisi çalıştırmasındaki ortam değişkeni

docker run -e CAPTCHAAI_API_KEY="your_key" my-scraper

Docker Oluşturma

# docker-compose.yml
services:
  scraper:
    image: my-scraper
    environment:

      - CAPTCHAAI_API_KEY=${CAPTCHAAI_API_KEY}

${CAPTCHAAI_API_KEY}, ana bilgisayarın ortam değişkenine başvurur; anahtar, oluşturma dosyasında hiçbir zaman görünmez.

Docker sırları (Swarm)

echo "your_actual_api_key_here" | docker secret create captchaai_key -
# docker-compose.yml (Swarm mode)
services:
  scraper:
    image: my-scraper
    secrets:

      - captchaai_key
secrets:
  captchaai_key:
    external: true

Kodu okuyun:

with open("/run/secrets/captchaai_key") as f:
    API_KEY = f.read().strip()

CI/CD boru hatları

GitHub Eylemleri

# .github/workflows/scrape.yml
jobs:
  scrape:
    runs-on: ubuntu-latest
    steps:

      - uses: actions/checkout@v4
      - run: python scraper.py
        env:
          CAPTCHAAI_API_KEY: ${{ secrets.CAPTCHAAI_API_KEY }}

Ayarlar – Gizli diziler ve değişkenler – Eylemler – Yeni veri deposu sırrı bölümüne sırrı ekleyin.

GitLab CI

# .gitlab-ci.yml
scrape:
  script:

    - python scraper.py
  variables:
    CAPTCHAAI_API_KEY: $CAPTCHAAI_API_KEY

Değişkeni Ayarlar – CI/CD – Değişkenler bölümüne "Maskeli" seçeneği etkinken ekleyin.


Başlangıçta doğrulama

İşlem hattınızı çalıştırmadan önce her zaman anahtarın var olduğunu ve çalıştığını doğrulayın:

import os
import sys
import requests

API_KEY = os.environ.get("CAPTCHAAI_API_KEY")
if not API_KEY:
    print("ERROR: CAPTCHAAI_API_KEY environment variable not set")
    sys.exit(1)

# Verify key works
resp = requests.get("https://ocr.captchaai.com/res.php", params={
    "key": API_KEY, "action": "getbalance", "json": "1"
}).json()

if resp["status"] != 1:
    print(f"ERROR: Invalid API key — {resp['request']}")
    sys.exit(1)

print(f"API key valid — balance: ${float(resp['request']):.2f}")

Yaygın hatalar

hata Risk Düzeltme
.env'nin Git'e kaydedilmesi Repo geçmişinde açığa çıkan anahtar İlk işlemden önce .env'yi .gitignore'ye ekleyin
Günlüklerde API anahtarını yazdırma Günlük toplayıcılarda görünen anahtar Hiçbir zaman tam anahtarları kaydetmeyin; bunları maskeleyin veya atlayın
Dockerfile'da sabit kodlama Görüntü katmanlarına eklenen anahtar ENV'yi derleme aşamalarında değil çalışma zamanında kullanın
Anahtarları sohbet yoluyla paylaşma/email Anahtar ele geçirildi veya sızdırıldı Bir sır yöneticisi kullanın veya güvenli kanal aracılığıyla paylaşın

SSS

.env dosyasını şifrelemeli miyim?

Yerel kalkınma için .gitignore yeterlidir. Üretim için .env dosyaları yerine bir bulut gizli yöneticisi (AWS Secrets Manager, Google Secret Manager, Azure Key Vault) kullanın.

Anahtarım zaten Git'e bağlıysa ne olur?

CaptchaAI kontrol panelinizdeki anahtarı hemen çevirin. Git geçmişindeki eski anahtar, dosya silindikten sonra bile erişilebilir durumda kalır.

Bir .env dosyasında birden fazla anahtar kullanabilir miyim?

Evet. Virgülle ayrılmış değerler veya numaralı tuşlar kullanın:

CAPTCHAAI_KEYS=key1,key2,key3
keys = os.environ["CAPTCHAAI_KEYS"].split(",")

CaptchaAI entegrasyonunuzu ilk günden itibaren güvence altına alın

API anahtarınızı şu adresten alın:captchaai.com.


İlgili kılavuzlar

Bu makale için yorumlar devre dışı bırakılmıştır.