首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Mysql表写入XML :安全问题

问将Mysql表写入XML :安全问题
EN

Stack Overflow用户
提问于 2010-05-28 16:41:13
回答 1查看 197关注 0票数 1

我想做一个新闻门户网站(Php)与最小的mysql力量。:创建cron,从mysql获取数据并写入php文件。(我不知道这是正确的方式),但我可以使用xml而不是php文件?将mysql数据写入xml。这是安全的方式吗?最好的方法是什么?XML还是php文件?

alt text http://img541.imageshack.us/img541/4784/87392425.gif

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-29 05:15:26

首先我要说的是,MySQL是非常快速和安全的。我推荐在请求时使用MySQL构建页面,大多数web应用程序都这样做,因为这是一种非常好的方法。为了节省资源,您可以使用Squid Reverse Proxy缓存输出,这在高流量站点上很常见。PHP的APC还将在不牺牲安全性的情况下减少资源消耗。Smarty's Caching system也是一种安全影响最小的好方法。

无论您选择哪种方法,都会有安全方面的考虑,但有些方法比其他方法更危险。例如,使用用户输入创建.php文件可能是使用php web应用程序所能做的最危险的事情。

代码语言:javascript
复制
$page='$title="'.$_GET['user_title'].'"';
file_put_contents("/var/www/page.php",$page);

对此代码的攻击将如下所示:

代码语言:javascript
复制
http://localhost/page_creater.php?user_title='; eval($_GET[backdoor]); /*

使用用户输入创建XML文件也很危险,因为它为Advanced LFI Attacks打开了大门。然而,相反的论点是,只要您的应用程序没有本地文件包含漏洞,那么您就不必担心。但这不是“深度防御”设计,因为你应该为失败做好准备。

可以实现像Squid的反向代理in php using ob_start()这样的东西,但是您仍然可以使用攻击者控制的数据创建文件,这就是危险。此外,不要包含非常愚蠢的() .html文件(请参阅高级LFI攻击...),更好的方法是:print(file_get_contents($file))。与使用.xml文件相比,我更喜欢使用.html文件,因为在将其输出给用户之前,不必对其进行处理。与MySQL相比,使用xml文件作为数据存储是对资源的浪费。

(免责声明:在Smarty、squid、php、linux、mysql和apache以及...中发现了漏洞。其他所有内容,甚至包括StackOverflow ;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2927636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档