# XSS Denetimi

**Tarih:** 2026-05-13
**Kapsam:** `resources/js/Pages/`, `resources/js/Components/`
**Yöntem:** `v-html` kullanımı taraması

---

## Genel Notlar

Vue 3, `{{ }}` interpolasyonunda otomatik HTML kaçırma uygular. Risk yalnızca `v-html` direktifinde söz konusudur.

---

## Bulgular

### Sayfalandırma linkleri — `link.label` (Güvenli)

Aşağıdaki tüm `v-html` kullanımları Laravel pagination `links` dizisindeki `label` alanını render etmek içindir. Bu değerler Laravel tarafından sunucu tarafında oluşturulur ve `&laquo;` / `&raquo;` gibi HTML entity'ler içerir. Kullanıcı girdisi geçmez.

| Dosya | Satır |
|---|---|
| `Pages/Admin/Accounts/Bulk.vue` | 447 |
| `Pages/Admin/Accounts/Index.vue` | 275 |
| `Pages/Admin/Audit/Index.vue` | 146 |
| `Pages/Admin/Backup/History.vue` | 117 |
| `Pages/Admin/Mail/Dkim.vue` | 326 |
| `Pages/Admin/Migration/Index.vue` | 251 |
| `Pages/Admin/Snapshots/Index.vue` | 190 |
| `Pages/Notifications/Index.vue` | 137 |

**Karar:** Güvenli — kaynak sunucu tarafı; kullanıcı girdisi yok.

---

### QR Code SVG — `qr_svg` / `qrCode` (Güvenli)

| Dosya | Satır | Değişken |
|---|---|---|
| `Pages/Customer/Account/TwoFactor.vue` | 134 | `qr_svg` |
| `Pages/Profile/Partials/TwoFactorAuthForm.vue` | 113 | `qrCode` |

Bu değerler sunucu tarafında 2FA kurulum akışı sırasında üretilen SVG QR kodlarıdır. Kullanıcı tarafından kontrol edilen bir input içermez.

**Karar:** Güvenli — kaynak güvenilir (Fortify/Laravel 2FA kütüphanesi).

---

## Öneriler

1. **Mevcut durum için aksiyon gerekmez** — Bulunan tüm `v-html` kullanımları güvenilir, sunucu kaynaklı içeriklerdir.

2. **Gelecekteki v-html eklenmelerinde** `useSafeHtml.js` composable'ını kullanın:
   ```vue
   import { safeHtml } from '@/Composables/useSafeHtml'
   <div v-html="safeHtml(userContent)" />
   ```

3. **ESLint kuralı** — Yeni `v-html` eklendiğinde uyarı almak için `eslint-plugin-vue`'nun `vue/no-v-html` kuralını `warn` olarak ayarlayın. Mevcut güvenli kullanımlarda `<!-- eslint-disable-next-line vue/no-v-html -->` yorumu yeterlidir.

---

## Sonuç

Kritik XSS açığı **bulunmamıştır.** Tüm `v-html` kullanımları sunucu kaynaklı ve güvenlidir.
