Basit bir çözüm içeriğine eval () çalıştırmak.
$content = $row['content'];
eval("?>".$content."<?php");
Kapanış PHP etiketi ve açılış PHP etiketi, eval () deyimi içine HTML ve PHP gömmek için izin verir.
Dosyaları vs PHP ve DB depolama seçimi hakkında.
Eğer hedef olduğunuzu varsayarak bir arayüzden adminleri tarafından düzenlenemez ve sunucu tarafından idam edilebilir PHP sahip olmaktır.
İki seçeneğiniz var:
Write the PHP to files, and include or exec() the files.
Write the PHP to the DB, and exec() or cache the content to files and include().
If you're on a dedicated or VPS server, then writing to files is the best choice.
However, if you're on a shared hosting system, then writing to DB is actually the safer choice. However, this comes with the task that you must use a very safe system for querying the database, to eliminated all SQL injection possibility.
DB paylaşılan bir ortamda güvenli nedeni PHP dosyaları için PHP işlemi için yazma erişimi gerekir olmasından kaynaklanmaktadır. Ne yazık ki, "her" hosting kurulumu üzerine, aynı PHP kullanıcı her hesabına çalışır ve böylece aynı PHP dosyalarına yazma erişimi vardır. Yani kötü niyetli bir kullanıcının sadece sizin gibi barındırma ve aynı fiziksel makine üzerinde arazi için kaydolmak, sizin veya erişmek için farklı bir hesap yararlanma vardır.
Bu ayrıcalıklara sahip olmadığından MySQL PHP tasarrufu ile, PHP mysql dosyaları yazamıyor. SQL enjeksiyon olasılığını ortadan kaldırmak eğer öyleyse, daha güvenli kod ile sonuna kadar. Eğer yazma yeteneği ile bir SQL enjeksiyon açığı varsa, o zaman da bir uzaktan kod yürütme güvenlik açığı açtı unutmayın.
Edit:
Maalesef doğru sözdizimi şöyledir:
eval("\r\n?>\r\n ".$php."\r\n<?php\r\n");
Her PHP yapılandırma / kurulum üzerinde çalışmak için oldukça yoğun Thats test edilmiştir.