Beni MySQL çok hızlı ve çok güvenli olduğunu söyleyerek başlayalım. Onun çok iyi bir yaklaşım çünkü ben istek üzerine MySQL ile sayfalarını bina tavsiye, çoğu web uygulamaları yapmak. Kaynaklarını kurtarmak için bir Squid Reverse Proxy kullanarak çıktıyı önbelleğe alabilir, ve yüksek trafik sitelerinde bu görmek için çok yaygındır. PHP'nin APC da secuirty ödün vermeden kaynak tüketimini azaltacaktır. Smarty's Caching system da en az güvenlik etkisi ile iyi bir yaklaşımdır.
Orada secuirty kaygıları olursa olsun seçtiğiniz hangi yöntem vardır, ancak diğerlerine göre biraz daha tehlikeli yaklaşımlar. Örneğin yaratıyor. Kullanıcı girişi ile php dosyalarını muhtemelen bir php web uygulaması ile yapmak için deneyebilirsiniz en tehlikeli şeydir.
$page='$title="'.$_GET['user_title'].'"';
file_put_contents("/var/www/page.php",$page);
Bu kodun karşı bir saldırı gibi olacaktır:
http://localhost/page_creater.php?user_title='; eval($_GET[backdoor]); /*
O Advanced LFI Attacks için kapıyı açar, çünkü kullanıcı girişi ile XML dosyalarını oluşturma de tehlikelidir. Ancak, karşı argüman sürece uygulama Yerel Dosyadan ücretsiz olarak açıkları dahil olduğunu, o zaman endişelenmenize gerek olmamalı. Eğer başarısızlık planı olmalı çünkü Ama bu, bir "Savunma derinlemesine" bir tasarım değildir.
Onun Squid ters proxy in php using ob_start() gibi bir şey, ancak sen hala saldırganın kontrollü veri dosyaları oluşturma ve yani uygulamak mümkün hazardous. . Ayrıca (son derece aptal) html dosyalarını (ileri SLP saldırıları ... bakınız) dahil değildir, daha iyi bir yaklaşım şudur: print(file_get_contents($file))
. Html kullanıcıya çıktısı önce işlenmesi gerekmez, çünkü ben. Xml dosyalarını kullanarak bitti. Html dosyalarını kullanarak gibi yapın. MySQL ile kıyaslandığında veri depolama olarak xml dosyalarını kullanarak kaynakların savurgan olduğunu.
(Disclaimer: Güvenlik Açıkları Smarty ve kalamar ve php bulunmuştur, ve linux ve mysql ve apache ve .... her şey, hatta StackOverflow ;)