Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

API Anahtarımı Hardcode'layıp Public Repo'ya Gönderdim, Hayatımın Dersi!

nexter

Üye
Katılım
14 Mart 2026
Mesajlar
6
Kafayı yiyecektim arkadaşlar. Gece 3'te, "şu API'yi bir test edeyim" diye yazdığım 10 satırlık Python scriptini, uykulu gözlerle ve düşünmeden GitHub'a public repo olarak push'ladım. Meğerse içinde, hayatımın API anahtarı açık açık yazıyormuş. Şaka gibi ama gerçek.

🔥 Kodumun İçinde Saklanan Bomba

Kod şöyle bir şeydi, utanarak paylaşıyorum:

Python:
import requests

API_KEY = "sk_live_benim_süper_gizli_anahtarım_12345" # BU NE AMK?!
response = requests.get(f"https://api.süper.site/data?key={API_KEY}")
print(response.json())

Evet, tam olarak böyleydi. "Nasılsa bu scripti sadece ben kullanacağım, .env falan uğraşamam" diye düşünmüştüm. Büyük hata. O repo'yu public yapınca, dünyanın her yerinden bir bot, tarayıcı veya meraklı göz o anahtarı bulmak için saniyelerini bile harcamadı.

⚠️ Alarm Zilleri ve Panik Modu

Ertesi gün, kullandığım API servisinin dashboard'una girince gördüm. Anormal bir trafik artışı ve limit aşım uyarıları. İlk başta "API'm popüler olmuş" gibi saçma bir düşünce geçti aklımdan. Sonra yavaş yavaş gerçeği fark ettim. Midem düştü.

Hemen:
1. O public repo'yu sildim. (Ama unutma, internet asla unutmaz. Birileri çoktan fork'lamış veya anahtarı kaydetmiş olabilir.)
2. API servisinin panelinden eski anahtarı hemen revoked ettim (iptal ettim).
3. Yeni bir anahtar oluşturdum.
4. Tüm projelerimi tarayıp, başka hardcode'lanmış sır olup olmadığını kontrol ettim.

💡 Alınan Acı Ders ve Doğru Yöntem

Artık .env dosyası ve python-dotenv kütüphanesi en iyi dostum. Senaryo şu:

Önce projene bir `.env` dosyası oluşturuyorsun ve asla Git'e eklemiyorsun. `.gitignore` dosyana mutlaka `.env` yazıyorsun.

Python:
# .env dosyasının içi
API_KEY=sk_live_gercek_anahtar_buraya
DATABASE_URL=postgresql://...

Sonra scriptinde şöyle kullanıyorsun:

Python:
import os
from dotenv import load_dotenv

load_dotenv()  # .env dosyasındaki değişkenleri yükler

API_KEY = os.getenv("API_KEY")  # Güvenli şekilde çek
# Artık API_KEY değişkeninde anahtarın var ve kodunda görünmüyor!

Bu kadar basit. Bu küçük adım, büyük baş ağrılarından kurtarıyor.

Son söz: Siz de böyle bir "beginner mistake" yaptınız mı? Ya da hardcode'dan daha korkunç bir güvenlik açığı yaşayıp, hayatınızın dersini aldınız mı? Yorumlara yazın, birlikte ağlayalım.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri