我正在尝试编写一个调用PHP的页面,该页面存储在MySQL数据库中.存储在MySQL数据库中的页面包含我想在页面加载时运行的PHP(和HTML)代码.
我怎么能这样做?
您可以使用eval命令.我建议不要这样做,因为使用这种方法存在很多陷阱.调试很难(呃),它意味着一些安全风险(DB中的坏内容被执行,哦哦).
看看php中的eval evil是什么时候?例如.谷歌的Eval是邪恶的,你会发现很多例子,为什么你应该找到另一个解决方案.
另外:这篇博文是另一篇有关漏洞利用的文章.指的是过去的vBulletin和phpMyAdmin漏洞,它们是由不正确的Eval使用引起的.
简单:
$x // your variable with the data from the DB ".$x."") ?>
让我知道,在许多应用程序中对我很有用,不禁注意到每个人都很快说出它有多糟糕,但实际上帮助你的答案很慢......
eval()
这里的其他回复涵盖了这个功能.我同意你应该限制使用,eval
除非绝对需要.而不是在db中使用PHP代码,你可能只有一个类名,其中包含一个名为的方法execute()
.每当您需要运行自定义PHP代码时,只需实例化您刚刚从db获取并->execute()
在其上运行的名称类.它是更清洁的解决方案,为您提供了很大的灵活性,并显着提高了站点安全性.