Onunla yapılır sonra veritabanına bağlantıyı kapatmadan değil güvenlik etkileri nelerdir?

4 Cevap php

Ne güvenlik sorunları kullandıktan sonra veritabanı bağlantısını kapatma değil ortaya çıkabilir? Yeni bir sayfa yükler kez kapatmak otomatik olarak PHP değil mi?

4 Cevap

PHP supposed "paylaşılan bir şey" mimari olmaktır. Yani, tüm kaynakların her istek için ayrılan ve daha sonra istek bittikten sonra temizlenir. Yani bellek, vs dosya kolları, prizler, veritabanı bağlantıları, gibi kaynaklar ayırmanın ya da kapalı olmalıdır.

Ancak, persistent database connections kapalı değil hangi kullanabilirsiniz, ancak bir sonraki istek için yeniden kullanılır. Bunu yaparsanız, bazı güvenlik ima var. Herhangi bir bağlantı durumu sonraki PHP isteği tarafından miras alınır. Uygulama veritabanı kullanıcı tanımlı değişken veya geçici tablolar, hatta LAST_INSERT_ID() kullanıyorsa Yani, bir sonraki PHP isteği görmek gerektiğini ayrıcalıklı verileri görmek mümkün olabilir.

Bunu önlemek için veritabanı bağlantısını kapatın, temelde kalıcı bağlantı değerini yenerek ediyoruz. Yani siz de düz veritabanı bağlantıları kullanabilirsiniz.

Ben sayfa bağlantısını (yani onu yönetmek ne olursa olsun bağlı olacağını) kapatır olup olmadığını söyleyemem ama uzun süre açık bırakarak potansiyel bir açlık sorunu neden olur, çünkü genel olarak, o zaman yapılır kapatmak için iyi bir fikirdir aynı veri kaynağına bağlanmak için istediğiniz aynı anda işleme diğer sayfalar için.

Jeff Atwood, ilginç bulabileceğiniz bu çok konuda an interesting blog post yazdı.