Php 在已安装Symfony2应用程序的服务器上托管WP应用程序
我在Symfony2上为我的客户编写了一个应用程序,并将其公开。然而,我现在了解到,他在以前的服务器中有一个单独的Php 在已安装Symfony2应用程序的服务器上托管WP应用程序,php,wordpress,symfony,nginx,Php,Wordpress,Symfony,Nginx,我在Symfony2上为我的客户编写了一个应用程序,并将其公开。然而,我现在了解到,他在以前的服务器中有一个单独的Wordpress应用程序来管理一些单独的产品 现在,他要求我们将WP应用程序转移到新服务器上。考虑到所有的安全问题,我对这里的潜在影响感到紧张。我将进行以下URL设置: www.myclientapp.com www.myclientapp.com/some-wp 我的选择是什么?我能想到一些,但任何建议都会有帮助 购买单独的共享主机并将WP放在那里。然后从我们的网站重定向 我
Wordpress
应用程序来管理一些单独的产品
现在,他要求我们将WP应用程序转移到新服务器上。考虑到所有的安全问题,我对这里的潜在影响感到紧张。我将进行以下URL设置:
- www.myclientapp.com
- www.myclientapp.com/some-wp
nginx
和php-fpm
运行。我可以使用在不同用户下运行的单独池吗。我需要查看Symfony文件的访问权限mysql
用户和数据库。这些将由严格的特权强制执行,这些特权禁止访问我的主数据库
你们能想点别的吗
我的主要目标是:如果WP易受攻击,就让它去吧。在任何情况下,我都不会允许它破坏我的
Symfony2
应用程序。我主要关心包含敏感数据的配置文件(app/config/*.yml
)。我建议您使用子域之类的东西,例如wp.symfony.com
它们可能仍然托管在同一台服务器上,但使用不同的虚拟主机目录。
这样,应用程序将永远不会看到彼此。一种方法是在不同于WP网站的php fpm用户下运行symfony,并确保正确设置文件/目录权限。根据目录/文件权限,WP攻击无法写入/读取symfony文件 更好的方法是使用php config open_basedir并将这两个站点隔离到它们自己的“监狱”中,这样php就可以防止包含/读取来自其他站点的文件。有关更多信息,请参阅
为此,代码应分为不同的目录,您可以使用nginx别名或virtualhosts将域名指向正确的目录。Hey Army,感谢您的快速回答。一些易受攻击的插件是否仍然可以访问
/path/to/symfony2/app/config/*
文件?如果不是,那绝对是一个好的解决方案-如果我的客户同意将wp
移动到子域(营销影响),因为目录彼此隔离,只要您的symfony像在正常主机环境中一样正常安全,就不会因wp域而出现任何漏洞。您也可以使用.htaccess保护任何目录。是的,但如果服务器由单个用户运行(nginx
,在我的情况下),是什么阻止wp
读取我的文件?我说的不是有人通过URL请求配置文件,而是一个恶意(或被破坏的)插件读取它(并公开我的db访问信息)。示例很简单:file\u获取内容('/../config.yml')
。是的,WP可能无法直接访问您的Symfony应用程序,但如果它以某种方式访问您的服务器,则Symfony可能会受到危害,因此如果您不确定,您可以询问您的客户是否使用其他服务器,以免为WP的安全漏洞承担责任。您仍然可以实现所需的url配置。不幸的是,open\u basedir
可以很容易地绕过:-/(链接:)。但是作为一个不同的用户运行应该是我想要的方向:)谢谢,我不知道。因此,您还应该禁用shell_exec和系统功能,以提高安全性。