我正在尝试编写一个存储在MySQL数据库中的调用PHP的页面。存储在MySQL数据库中的页面包含我希望在页面加载时运行的代码。
我该怎么做呢?
发布于 2008-09-03 10:18:02
您可以使用eval命令来执行此操作。我建议不要这样做,因为使用这种方法有很多陷阱。调试很难(呃),它暗示了一些安全风险(数据库中的坏内容会被执行,呃哦)。
例如,参见When is eval evil in php?。谷歌的Eval是邪恶的,你会找到很多例子,为什么你应该找到另一个解决方案。
另外:this blogpost是另一篇很好的文章,其中引用了一些漏洞。指的是过去因Eval使用不当而导致的vBulletin和phpMyAdmin利用漏洞。
发布于 2009-09-24 16:05:33
简单:
$x // your variable with the data from the DB
<?php echo eval("?>".$x."<?") ?>让我知道,在许多应用程序中对我很有效,不禁注意到每个人都很快就会说它有多糟糕,但却很慢地给出了一个直接的答案……
发布于 2008-09-03 10:47:22
在这里的其他响应中介绍了eval()函数。我同意您应该限制使用eval,除非它是绝对必要的。你可以只用一个类名来代替db中的PHP代码,这个类名的方法叫做execute()。当您需要运行自定义PHP代码时,只需实例化刚刚从db获取的name类并在其上运行->execute()即可。它是更干净的解决方案,为您提供了极大的灵活性,并显着提高了网站的安全性。
https://stackoverflow.com/questions/41406
复制相似问题