Teşekkürler, çok yerinde bir geri bildirim 🙏
Açık konuşayım: şu an settings tablosundaki değerler şifrelenmiş değil, düz metin tutuluyor. README'deki not "kodda gömülü değil" anlamında doğru ama "şifreli" demiyor; haklı olarak oraya parmak basmışsın.
Şu an riski bir miktar sınırlayan şeyler var — DB'ye erişim için kimlik bilgisi gerekiyor, config/db.php ve .env repo dışında, ayar arayüzü sadece admin'e açık. Ama senin dediğin gibi, gerçek sırlar (iyzico secret, SMTP şifresi, AI anahtarı) için .env daha doğru tercih, ya da en azından settings tarafında at-rest şifreleme olmalı. İki yönü de değerlendiriyorum:
  • Gerçek gizli anahtarları .env'e taşımak,
  • veya bu alanlar için openssl tabanlı bir şifreleme katmanı eklemek.
İkinci noktada da hemfikirim: provider seçimi ve on/off gibi yapılandırma ayarlarının DB'de olması bilinçli bir tercih (admin panelinden yönetilebilsin diye). Toggle'lar zaten settings'te; AI provider'ı şu an Anthropic'e sabit, onu da ayarlardan değiştirilebilir yapmak iyi bir ekleme olur — not aldım.
Bu tür dikkatli okumalar gerçekten işe yarıyor, eline sağlık.
Juanka adlı üyeden alıntı: mesajı görüntüle
Elinize sağlık, faydalı bir paylaşım olmuş. Açık kaynak e-ticaret projelerinin daha görünür ve erişilebilir olması hem geliştiriciler hem de bu tarz çözümlere ihtiyacı olan kullanıcılar için oldukça güzel.

"Tüm hassas bilgiler (iyzico, SMTP, AI anahtarları) kodda gömülü değil; veritabanındaki ayarlar tablosundan admin panelinden yönetiliyor. Veritabanı sorguları parametreli, kullanıcı çıktıları escape ediliyor, upload klasöründe PHP çalıştırma engelli ve yüklenen görseller GD ile yeniden kodlanıyor. "

secret / private key / API key gibi bilgiler DB’de şifreli mi? .env' de tercih edilebilirdi. şifreleniyorsa sorun yok.
ai provider change, on off toggle ayarları sql'de olması daha doğru olur