# Asama 3 - Secrets Package

Bu asamada `secrets-package` hosting uyumlu hale getirildi.

## Hedef

`bes-web-secrets.zip` acildiginda asagidaki yapi olusur:

```txt
secrets/
+-- bes-web/
    +-- db_secrets.php
    +-- app_secrets.php
    +-- bootstrap.env.php
    +-- .htaccess
    +-- README.md
```

## Dosya Gorevleri

### db_secrets.php

Master DB baglanti bilgisini tutar.

Alanlar:

- host
- port
- name
- user
- pass
- strict

Installer bu dosyayi DB baglanti testi basarili olduktan sonra gunceller.

### app_secrets.php

Production uygulama ayarlari icindir.

Alanlar:

- app_key
- tenant_credentials_key
- debug
- environment
- session_name

`tenant_credentials_key`, master DB icindeki `tenants.db_pass` alanini AES-256-GCM ile sifrelemek icin kullanilir. Bos gelirse installer ilk tenant kaydi sirasinda `base64:` formatinda 256 bit anahtar uretir.

### bootstrap.env.php

Uygulamaya secrets dosyalarinin yolunu bildirir.

Ortam degiskenleri:

- BESWEB_DB_SECRETS
- BESWEB_APP_SECRETS

### .htaccess

Apache ortaminda secrets klasorune web uzerinden erisimi kapatir.

## Guvenlik Notlari

- Secrets klasoru public root disinda tutulmalidir.
- Paket icinde gercek sifre bulunmaz.
- Installer sifreleri ekrana veya loga yazmaz.
- Kurulum bitince dosya izinleri daraltilabilir.

## Asama 3 Durumu

Tamamlandi:

- Secrets dosyalari placeholder ve installer uyumlu hale getirildi.
- `.htaccess` eklendi.
- README genisletildi.
- PHP syntax kontrolleri yapildi.

Sonraki asama:

- Asama 4: installer package yapisini adim dosyalari, view klasoru ve moduler kurulum akisi icin genisletme.
