Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在已安装Symfony2应用程序的服务器上托管WP应用程序_Php_Wordpress_Symfony_Nginx - Fatal编程技术网

Php 在已安装Symfony2应用程序的服务器上托管WP应用程序

Php 在已安装Symfony2应用程序的服务器上托管WP应用程序,php,wordpress,symfony,nginx,Php,Wordpress,Symfony,Nginx,我在Symfony2上为我的客户编写了一个应用程序,并将其公开。然而,我现在了解到,他在以前的服务器中有一个单独的Wordpress应用程序来管理一些单独的产品 现在,他要求我们将WP应用程序转移到新服务器上。考虑到所有的安全问题,我对这里的潜在影响感到紧张。我将进行以下URL设置: www.myclientapp.com www.myclientapp.com/some-wp 我的选择是什么?我能想到一些,但任何建议都会有帮助 购买单独的共享主机并将WP放在那里。然后从我们的网站重定向 我

我在Symfony2上为我的客户编写了一个应用程序,并将其公开。然而,我现在了解到,他在以前的服务器中有一个单独的
Wordpress
应用程序来管理一些单独的产品

现在,他要求我们将WP应用程序转移到新服务器上。考虑到所有的安全问题,我对这里的潜在影响感到紧张。我将进行以下URL设置:

  • www.myclientapp.com
  • www.myclientapp.com/some-wp
我的选择是什么?我能想到一些,但任何建议都会有帮助

  • 购买单独的共享主机并将WP放在那里。然后从我们的网站重定向

  • 我的VPS服务器使用
    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和系统功能,以提高安全性。