0

が欲しいです ...

  • move_uploaded_filesいくつかのフォルダに(としましょうhttp://localhost/myproject/protected)。rm(そして PHP は、mvcp、 ... 内のすべてを実行できるはずですprotected)
  • たとえば、任意のファイルに対するユーザーのアクセス/ダウンロードを有効/無効にしますhttp://my.ip.add.ress/myproject/protected/foo.bar(http://localhost/myproject/protected/foo.bar例外ではありません!)

... と を使用chmodchownます。これが可能なのだろうか?


PS私は考えがあります:

// firstly chown -R www-data:www-data /var/www

<?php
    //file : localhost/myproject/foo.php
    //use following when access for user is disabled

    shell_exec("chmod -R 0777 protected");

    // edit the folder ...
    // edit the folder ...
    // edit the folder ...

    shell_exec("chmod -R 0000 protected");
?>

しかし、十分に安全だとは思いません:-{|)

OMT (One More Thing) 私は次のことを行いました:

  • chown -R www-data:www-data /var/www
  • chmod -R 0700 /var/www/myproject/protected

PHP はファイルにアクセスできますが、ユーザーもそれらにアクセスできます。


EDIT 1:出力ps aux | egrep '(apache|httpd)'

root     12748  0.0  0.2  39984  8256 ?        Ss   01:54   0:00 /usr/sbin/apache2 -k start
www-data 12755  0.0  0.1  40208  6008 ?        S    01:54   0:00 /usr/sbin/apache2 -k start
www-data 12756  0.0  0.1  40008  4324 ?        S    01:54   0:00 /usr/sbin/apache2 -k start
www-data 12757  0.0  0.1  40008  4324 ?        S    01:54   0:00 /usr/sbin/apache2 -k start
www-data 12758  0.0  0.1  40008  4324 ?        S    01:54   0:00 /usr/sbin/apache2 -k start
www-data 12759  0.0  0.1  40008  4324 ?        S    01:54   0:00 /usr/sbin/apache2 -k start
sylap    12896  0.0  0.0   5904   860 pts/1    S+   02:25   0:00 egrep --color=auto (apache|httpd)
4

1 に答える 1

1

Apacheにchownする必要があるだけのchmodを変更しないでください。これを変更できるのは、php コードだけです。

// File name and username to use
$file_name= "foo.php";
$path = "/home/sites/php.net/public_html/sandbox/" . $file_name ;
$user_name = "apache";

// Set the user
chown($path, $user_name);
于 2013-10-25T20:36:24.720 に答える