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.