Güvenlik

Çalıştırma Kullanıcısı

Çalıştırma kullanıcısının düşük izinlere sahip bir kullanıcı olarak ayarlanması önerilir, örneğin nginx'in çalıştırma kullanıcısıyla aynı olacak şekilde. Çalıştırma kullanıcısı, config/server.php dosyasındaki user ve group alanlarında ayarlanır. Benzer şekilde, özelleştirilmiş süreçlerin kullanıcısı config/process.php dosyasındaki user ve group ile belirtilir. Monitor sürecinin çalıştırma kullanıcısının ayarlanmaması gerektiğine dikkat edilmelidir, çünkü düzgün çalışması için yüksek yetkilere ihtiyaç duyar.

Kontrolcü Standartları

controller dizini veya alt dizinlerinde yalnızca kontrolcü dosyalarının bulunmasına izin verilir, diğer sınıf dosyalarının konması yasaktır, aksi takdirde kontrolcü uzantısı kapalıyken, sınıf dosyalarının URL üzerinden yetkisiz erişime maruz kalma olasılığı vardır, bu da öngörülemeyen sonuçlara yol açabilir. Örneğin, app/controller/model/User.php aslında Model sınıfıdır, ancak yanlışlıkla controller dizinine yerleştirilmiştir, ve kontrolcü uzantısı devre dışı iken kullanıcıların User.php içindeki herhangi bir metoda /model/user/xxx gibi yollarla erişmesine neden olabilir. Bu durumun tamamen önlenmesi için, hangi dosyaların kontrolcü dosyaları olduğunu net bir şekilde belirlemek amacıyla kontrolcü uzantısını kullanmanız şiddetle önerilir.

XSS Filtreleme

Genelleme açısından, webman istekleri XSS kaçışına tabi tutmamaktadır. webman, XSS kaçışının dökümleme aşamasında yapılmasını, veritabanına kaydetmeden önce değil, önerir. Ayrıca, twig, blade, think-template gibi şablon motorları otomatik olarak XSS kaçışı uygular, manuel olarak kaçış yapmaya gerek kalmaz, bu oldukça kullanışlıdır.

İpucu
Veritabanına kaydetmeden önce XSS kaçışı yaparsanız, bazı uygulama eklentileriyle uyumsuzluk sorunları yaşayabilirsiniz.

SQL Enjeksiyonunu Önleme

SQL enjeksiyonunu önlemek için, mümkün olduğunca ORM kullanılması önerilir, örneğin illuminate/database, think-orm. Kullanım sırasında SQL'in elle birleştirilmesinden kaçınılması önerilir.

nginx Proxy

Uygulamanızın dış kullanıcılar tarafından erişilmesi gerektiğinde, webman önünde bir nginx proxy kullanılması şiddetle önerilir. Bu, bazı yetkisiz HTTP isteklerini filtrelemeye yardımcı olur ve güvenliği artırır. Ayrıntılar için lütfen nginx proxy belgelerine başvurun.