Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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 在symfony项目中使用project:permissions在生产环境中是否安全?_Php_Symfony1 - Fatal编程技术网

Php 在symfony项目中使用project:permissions在生产环境中是否安全?

Php 在symfony项目中使用project:permissions在生产环境中是否安全?,php,symfony1,Php,Symfony1,如问题所述,此任务对于生产环境是否安全?我发现权限相当宽松,缓存目录是我特别怀疑的目录。代码目录的写入和执行权限有点可疑 干杯写:显然需要能够缓存数据 Execute:对于目录,这意味着允许列出-即查看缓存版本是否存在 project:permissions任务在prod中使用是安全的,它在允许正常使用的情况下尽可能严格。 还请记住,不能从外部访问缓存目录的内容。对于专用的生产环境(如VPS或专用服务器)来说,这很好,但是如果您使用共享主机,则可能过于宽松-缓存和上载文件夹的默认值是世界可写的,

如问题所述,此任务对于生产环境是否安全?我发现权限相当宽松,缓存目录是我特别怀疑的目录。代码目录的写入和执行权限有点可疑


干杯

写:显然需要能够缓存数据 Execute:对于目录,这意味着允许列出-即查看缓存版本是否存在

project:permissions任务在prod中使用是安全的,它在允许正常使用的情况下尽可能严格。

还请记住,不能从外部访问缓存目录的内容。

对于专用的生产环境(如VPS或专用服务器)来说,这很好,但是如果您使用共享主机,则可能过于宽松-缓存和上载文件夹的默认值是世界可写的,而且您实际上只需要授予对web服务器帐户的访问权(可能还有可以上传代码更新的用户)

您可以创建自己的任务,执行相同的操作,但权限更严格:

  • 将project:permissions任务(lib/vendor/symfony/lib/task/project/sfProjectPermissionsTask.class.php)复制到lib/task文件夹中
  • 重命名文件和类
  • 更改第30行和第31行上的声明(例如,“project”和“permissions strict”)
  • 在第46-68行的
    $this->chmod()
    方法调用中更改权限。如果你真的想锁定东西,你可能还需要创建一个
    $this->chown()
    方法

  • (您也可以扩展
    sfProjectPermissionsTask
    类,但由于您将覆盖几乎所有内容,因此这似乎并不值得)

    oops,投票方式错误对不起-您能否以无意义的方式编辑您的答案,以便我可以为您反转答案?:)