Files
semih 494781e84f Dersler ve Temeller; web örnekleri PORT ortam değişkenini okur
- 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ı.
2026-10-17 22:07:47 +03:00
..

Kısalt — bağlantı kısaltıcı

Kısalt

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

İstatistik

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:// ve https:// adresleri kabul edilir; javascript: ya da file: ile başlayan bir "bağlantı" 422 ile reddedilir.
  • XSS: hedef adres sayfaya yalnızca metin olarak, web.kacir ile kaçırılarak basılır; href iç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.

Mobil