Ders 1.4: Bir web uygulamasının anatomisi
Bir tarayıcı ile bir veritabanı arasında neler olduğu: ön yüz, web sunucusu ve ters vekil sunucu, uygulama (burada PHP-FPM altında çalışan PHP), veritabanı ve API. Her parça güvenliğin çökebileceği bir yerdir. Laboratuvarda Northwind Shop'un sunucusu web01'desin ve bir isteği her katmanda izliyorsun: yanıt başlıkları, bir JSON API'si, PHP dosyalarını PHP-FPM'e veren nginx yapılandırması, dinleyen hizmetler, uygulamayı oluşturan PHP dosyaları ve veritabanı bağlantısı.
17 dk
Bu derste öğreneceklerin
- Bir web uygulamasının parçalarını ve her birinin ne yaptığını saymak
- Web sunucusunun, PHP-FPM'in ve veritabanının rolünü açıklamak
- Bir sunucunun yanıt başlıklarını okumak
- Bir uygulamanın giriş noktalarını (PHP dosyalarını ve API'sini) bulmak
- Her katmanın neden saldırı yüzeyinin parçası olduğunu açıklamak
Temel terimler
- Web uygulaması
- Bir tarayıcı aracılığıyla kullandığın program: HTTP istekleri alır, kod çalıştırır ve sayfalarla ya da veriyle yanıt verir.
- Ön yüz ve arka uç
- Ön yüz tarayıcıda çalışır (HTML, CSS, JavaScript); arka uç sunucuda çalışır (uygulama kodu ve veritabanı).
- Web sunucusu ve ters vekil sunucu
- HTTP isteklerini alan, dosyaları sunan ve dinamik istekleri uygulamaya ileten program. Ters vekil sunucu olarak uygulamanın önünde durur.
- PHP ve PHP-FPM
- PHP web için yapılmış bir programlama dilidir; PHP-FPM (FastCGI Süreç Yöneticisi) PHP çalışan süreçlerini ayakta tutar ve web sunucusu için PHP dosyalarını çalıştırır.
- Veritabanı
- Uygulamanın verisini tablolarda tuttuğu yer: kullanıcılar, ürünler, siparişler. SQL ile sorgulanır.
- API (uygulama programlama arayüzü)
- İnsanlar yerine programlara yanıt veren arayüz; genellikle HTTP üzerinden JSON ile.
- Uç nokta
- Uygulamanın yanıt verdiği tek bir adres: bir sayfa, bir form hedefi ya da bir API rotası.
← Bilgisayar ağı nedir? · Tüm dersler · Neden önemli: gerçek olaylardan dersler →