- dersler/: 29 kısa ders (açıklama, çalıştırılabilir örnek, alıştırma). Her örneğin ve alıştırma çözümünün çıktısı Online IDE'nin hazırlık adımında gerçekten koşulup dosyadakiyle karşılaştırılır; biçim dersler/BICIM.md. - temeller/: tek konulu 12 başlangıç programı. - web/anket, web/kisalt, web/pano: port PORT ortam değişkeninden okunur (Online IDE önizlemesi 8080 verir), yoksa eski sabit port. - README: öğrenme bölümü, Online IDE bağlantısı.
Kısalt — bağlantı kısaltıcı
Uzun bir adres verin, KabaLang ona 6 harflik bir kod versin; /k/{kod} gerçek bir
HTTP 302 ile hedefe yönlendirir ve her tıklamayı sayar. Sayfaların tamamı sunucuda,
KabaLang metin işlemleriyle üretilir — şablon motoru yok.
kabalang calistir web/kisalt/kisalt.kbl
# → http://127.0.0.1:8472
Neyi gösteriyor
| Konu | Nerede |
|---|---|
Rastgele kısa kod + çakışma döngüsü (iken ... != "0") |
yeni_kod, kaydet |
Gerçek yönlendirme: web.yanit("", 302).baslik("Location", adres) |
yonlendir |
| Sunucuda çizilen SVG çubuk grafik (son 7 gün) | yedi_gun_svg |
| Üç tırnaklı metin ile tek yerde tutulan stil | STIL = """ ... """ |
Özel 404 sayfası: sunucu.bulunamadi(...) |
sonda |
Güvenlik
- SQL enjeksiyonu: bütün sorgular parametre bağlamalıdır (
?); kullanıcı verisi asla sorgu metnine eklenmez. - Açık yönlendirme / betik bağlantısı: yalnız
http://vehttps://adresleri kabul edilir;javascript:ya dafile:ile başlayan bir "bağlantı" 422 ile reddedilir. - XSS: hedef adres sayfaya yalnızca metin olarak,
web.kacirile kaçırılarak basılır;hrefiçine giren tek şey bizim ürettiğimiz, yalnız harf-rakamdan oluşan kısa koddur.
Veritabanı yolu KISALT_DB ile değiştirilebilir (varsayılan kisalt.db). İlk açılışta
tanıtım için birkaç bağlantı ve geçmiş tıklama oluşturulur.


