Tutorials

Sichern von CaptchaAI-Anmeldeinformationen in Umgebungsvariablen

Die harte Codierung von API-Schlüsseln im Quellcode bedeutet, dass jeder mit Repository-Zugriff – oder jeder, der Ihren Code in einem öffentlichen Repo findet – Ihren Schlüssel hat. Umgebungsvariablen halten Anmeldeinformationen von Code, Versionskontrolle und Protokollen fern.


.env-Datei (lokale Entwicklung)

Erstellen Sie eine .env-Datei in Ihrem Projektstammverzeichnis:

CAPTCHAAI_API_KEY=your_actual_api_key_here

Fügen Sie es sofort zu .gitignore hinzu:

# .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);

Systemumgebungsvariablen

Legen Sie Variablen auf Betriebssystemebene fest, anstatt .env-Dateien zu verwenden:

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")

Docker

Umgebungsvariable im Docker-Lauf

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

Docker Compose

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

      - CAPTCHAAI_API_KEY=${CAPTCHAAI_API_KEY}

Der ${CAPTCHAAI_API_KEY} verweist auf die Umgebungsvariable des Hosts – der Schlüssel erscheint nie in der Compose-Datei.

Docker-Geheimnisse (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

Code einlesen:

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

CI/CD-Pipelines

GitHub-Aktionen

# .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 }}

Fügen Sie das Geheimnis unter Einstellungen → Geheimnisse und Variablen → Aktionen → Neues Repository-Geheimnis hinzu.

GitLab CI

# .gitlab-ci.yml
scrape:
  script:

    - python scraper.py
  variables:
    CAPTCHAAI_API_KEY: $CAPTCHAAI_API_KEY

Fügen Sie die Variable unter Einstellungen → CI/CD → Variablen mit aktivierter Option „Maskiert“ hinzu.


Validierung beim Start

Überprüfen Sie immer, ob der Schlüssel vorhanden ist und funktioniert, bevor Sie Ihre Pipeline ausführen:

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}")

Häufige Fehler

Fehler Risiko Beheben
.env an Git übergeben Schlüssel im Repo-Verlauf offengelegt Fügen Sie .env zu .gitignore vor dem ersten Commit hinzu
Drucken des API-Schlüssels in Protokollen Schlüssel sichtbar in Protokollaggregatoren Protokollieren Sie niemals vollständige Schlüssel – maskieren oder lassen Sie sie weg
Hardcodierung in Dockerfile Schlüssel in Bildebenen eingebrannt Verwenden Sie ENV zur Laufzeit, nicht in Build-Phasen
Schlüssel über chat/email teilen Schlüssel abgefangen oder durchgesickert Verwenden Sie einen Secrets-Manager oder teilen Sie sie über einen sicheren Kanal

FAQ

Soll ich die .env-Datei verschlüsseln?

Für die lokale Entwicklung ist .gitignore ausreichend. Verwenden Sie für die Produktion einen Cloud Secret Manager (AWS Secrets Manager, Google Secret Manager, Azure Key Vault) anstelle von .env-Dateien.

Was passiert, wenn mein Schlüssel bereits an Git übergeben wurde?

Drehen Sie den Schlüssel sofort in Ihrem CaptchaAI-Dashboard. Der alte Schlüssel im Git-Verlauf bleibt auch nach dem Löschen der Datei zugänglich.

Kann ich mehrere Schlüssel in einer .env-Datei verwenden?

Ja. Verwenden Sie durch Kommas getrennte Werte oder nummerierte Schlüssel:

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

Sichern Sie Ihre CaptchaAI-Integration vom ersten Tag an

Holen Sie sich Ihren API-Schlüssel untercaptchaai.com.


Verwandte Leitfäden

  • CaptchaAI IP-Whitelisting und API-Schlüsselsicherheit
  • CaptchaAI API-Schlüsselrotation
  • CaptchaAI API-Schnellstart

Diskussionen (0)

Noch keine Kommentare.