İçeriğe geç
HisarBlok
Menü
EN

HisarBlok · belgeler

Güvenlik ve ziyaretçi girdisi

Yayımlanan site dosyalardan ibaret; en büyük saldırı sınıfları oradan erişilemez. Gerisi, panelin ve tek ziyaretçi kapısının nasıl korunduğuyla ilgili.

Tüm belgeler

Sürüm 0.13.1 için.

Güvenlik modeli

Sayfa okumak kod çalıştırmaz

Anonim bir ziyaretçinin isteği kod çalıştırmıyorsa, o istek üzerinden kod çalıştırmak da çok zorlaşır.

Panel siteden ayrı

Kendi adresinde: nonce tabanlı içerik güvenliği ilkesi, her formda CSRF jetonu, Argon2id parolalar, oturum bağlama, giriş sınırı ve isteğe bağlı TOTP.

Yazarın HTML'i temizlenir

İzin listesine göre, PHP'nin HTML5 ayrıştırıcısıyla; hem kayıtta hem her üretimde. İkinci temizlemede değişen sonuç düz metne düşer.

`data/` belge kökünün dışında

Veritabanı, yapılandırma, yedekler ve hız sınırı kayıtları. Sihirbaz bu klasör dışarıdan erişilebilirken devam etmez.

İmzalı güncelleme

İmzası doğrulanmayan hiçbir şey açılmaz; araç root ile çalışmayı reddeder, panel hiçbir zaman koda yazmaz.

Bağımlılık ve izleme yok

CDN yok, dışarıdan yazı tipi yok, üçüncü taraf betik yok. Tek üçüncü taraf parça, sunucunuzdan sunulan panel editörü.

Tek ziyaretçi kapısı

Bir yorum, bir iletişim formu ya da bir üye kaydı, okurun yazmasıdır; yazmanın bir yere ulaşması gerekir. HisarBlok buna dinamik bir siteyle değil, tek bir kapıyla yanıt verir: sitedeki go.php (yalnız POST) ve sayılan bağlantılar için get.php. Sitede başka hiçbir şey istek kabul etmez; tek bir kapı gözetlenebilir bir kapıdır.

Kapıda sırasıyla:

  • Aynı köken denetimi: başka bir siteden gönderilen form, hiçbir modül görmeden reddedilir.
  • Form jetonu: durumsuz ve imzalı; siteye, eyleme ve sayfaya bağlıdır, yedi gün geçerlidir. Başka bir sayfadan toplanan jeton burada işe yaramaz.
  • Süre kapısı ve bal küpü: çok hızlı gönderilen form ve gizli alanı dolduran otomatik doldurucu reddedilir.
  • Kabul edilen gönderimler için bütçe: adres başına 15 dakikada 20, site başına 300 gönderim; aşılırsa hiçbir şey saklanmaz. Yoğun bir site kendi sayılarını yapılandırmadan verir.
  • İstekte yavaş iş yok: bildirim e-postaları kuyruğa alınır, aynı kişiye gidenler birleştirilir ve yanıt gittikten sonra gönderilir.

Ziyaretçiye oturum ya da çerez verilmez; statik bir sayfa herkes için aynı kalmalıdır. Bulmaca (CAPTCHA) bilerek yok: bulmaca her okurdan vergi alır, yaygın olanlar da okuru üçüncü bir tarafa gönderir. Reddedilen bir form boş bir hata sayfası yerine formun kendisi olarak döner: hatalar alanların yanında, yazılanlar korunmuş olarak.

Jetonun ne olmadığını da söyleyelim: bir insan olduğunun kanıtı ya da tek kullanımlık değildir. Statik bir sayfanın her okuru aynı jetonu alır. Jetonu elinde tutan bir betiği durduran şey jeton değil, bütçedir.

Hesaplar ve siteler

Tek kurulum birden çok siteyi tek bir hesap listesiyle yayımlayabilir. Bir hesap, sınırlanmadıkça her siteye erişir. Kişiler → Siteler ile bir hesap bazı sitelere, site başına bir rolle sınırlanabilir; sınırlı hesap kişileri, modülleri, güncellemeleri, yedekleri ve e-postayı hiçbir zaman yönetemez.

Siteler yine aynı PHP kullanıcısını, aynı data/ klasörünü ve aynı veritabanını paylaşır. Birbirinin içeriğine hiç erişmemesi gereken kişilerin (örneğin iki ayrı müşterinin) siteleri ayrı kurulumlarda çalışmalıdır.

Çerezsiz istatistik

HisarBlok görüntülemeleri sitenin kendi sunucusunda sayar. Toplanan: sayfa başına görüntüleme, günde bir kez sayılan ziyaretçi, yönlendiren sitenin yalnız alan adı ve telefon ile bilgisayar oranı; hepsi günlük toplam. Toplanmayan: çerez ya da tarayıcı depolaması, IP adresi, tarayıcı bilgisi, ekran boyutu ya da başka bir parmak izi. Aynı gün gelen kişi, her gün değişen ve gün bitince silinen gizli bir anahtarla ayırt edilir. "İzlenmek istemiyorum" diyen tarayıcılar, botlar ve başka sitelerden gelen istekler sayılmaz. İstatistik varsayılan olarak açıktır ve İstatistik ekranından site başına kapatılır.

Güvenlik açığı bildirimi

HisarBlok'ta bir güvenlik açığı bulduysanız lütfen herkese açık bir yere yazmadan önce security@kodhisar.com adresine bildirin. Bildirimleri ciddiye alıyoruz ve düzeltmeyi sürüm notlarında açıkça yazıyoruz.