Güvenlik

Fiyatın sunucuda hesaplanması, tekrar gönderim koruması, hız sınırları, marka izolasyonu ve görsel yükleme güvenliği.

Fiyatı sunucu hesaplar

Misafirin tarayıcısı siparişte yalnızca ürün, adet, seçilen seçenekler, notlar ve hizmet türünü gönderir. Fiyat gönderilmez. Sunucu her satırı veritabanındaki güncel fiyattan yeniden hesaplar. Tarayıcıda fiyatı değiştirmeye çalışmak sonucu etkilemez.

Sunucu ayrıca şunları denetler:

  • Şube açık mı ve masadan sipariş modunda mı?
  • Masa kodu geçerli ve şubeye ait mi?
  • Ürün aktif, mevcut ve bu markaya ait mi?
  • Seçilen her seçenek, ürünün bağlı olduğu gruba mı ait?
  • Zorunlu gruplarda en az/en çok kuralı sağlanıyor mu?
  • Miktar 1–20, sepet en çok 50 satır, not en çok 200 karakter mi?

Aynı siparişin iki kez kaydedilmemesi

Her gönderim bir benzersiz anahtar taşır. Bağlantı yavaşlayıp misafir düğmeye tekrar basarsa ya da istek tekrarlanırsa, aynı anahtarla gelen ikinci istek yeni sipariş oluşturmaz; ilk siparişi döndürür. Anahtar masa kapsamlıdır, bu yüzden farklı masaların anahtarları çakışmaz.

Hız sınırları

Kötüye kullanımı önlemek için sınırlar vardır:

  • Sipariş gönderimi masa ve IP başına dakikada sınırlıdır.
  • Sepet kontrolü ve sipariş okuma için ayrı sınırlar bulunur.
  • Giriş sayfasında IP başına dakikada deneme sınırı vardır.

Sınır aşılırsa misafir "Çok fazla deneme" mesajını görür ve biraz bekler.

Antiforgery ve istek boyutu

Tüm gönderimler antiforgery doğrulaması ister. Sipariş isteklerinin gövde boyutu sınırlıdır. Yanıtlar önbelleğe alınmaz.

Tahmin edilemez QR kodu

Masa kodu rastgele ve uzundur; adreste sıralı numara görünmez. Kod yenilenebilir; yenilenince eski kod hemen geçersiz olur. Masa kodları kayıtlara yazılmaz.

Marka izolasyonu

Her marka yalnızca kendi menüsünü, siparişlerini ve personelini görür. Bu izolasyon veritabanı sorgularında zorunlu olarak uygulanır. Yönetimde kullanılan her kimlik (kategori, grup, görsel vb.) ayrıca bu markaya ait olup olmadığı açısından doğrulanır; başka markanın kaydı "geçersiz referans" olarak reddedilir.

Yetki ve erişim

  • Yönetim ve mutfak sayfaları yalnızca giriş yapmış, uygun role sahip personele açıktır.
  • Şube oluşturma ve silme yalnızca Sahip rolündedir.
  • Yönetici yalnızca Mutfak ve Garson hesabı yönetebilir. Bkz. Personel ve roller.
  • Parola en az 10 karakterdir; büyük harf, küçük harf ve rakam içermelidir.
  • Hesap pasifleştirilince, rol ya da parola değişince açık oturumlar sonlanır.

Açık canlı bağlantılar

Mutfak ve sipariş takibi canlı bağlantıyla çalışır. Bir bağlantı açıkken erişim kısıtlanırsa (hesap pasifleştirme, parola ya da rol değişimi, QR yenileme, masa ya da şube silme) ilgili bağlantı kapatılır. Ayrıca sistem açık mutfak bağlantılarının hesabını düzenli aralıklarla yeniden doğrular.

Görsel yükleme

  • Yalnızca JPG, PNG ve WebP kabul edilir; en çok 5 MB.
  • Dosya türü adına ya da bildirilen türüne göre değil, içeriğine bakılarak doğrulanır.
  • Çok büyük boyutlu ya da animasyonlu görseller reddedilir.
  • Konum gibi gömülü üst veri (EXIF) atılır.
  • Dosyalar özgün adıyla değil rastgele bir adla saklanır.

Kullanıcı metinleri

Misafirin yazdığı notlar sayfaya güvenli biçimde (kodlanarak) basılır; zararlı içerik çalıştırılmaz.

WhatsApp ile yazın