【问题标题】:Make folders accessible to select users only使文件夹仅可供选定用户访问
【发布时间】:2013-09-20 17:23:54
【问题描述】:

我的网站有一个表单,用户可以在其中上传文档。它们存储在 www.mysite.com/uploads 文件夹中。现在在浏览器中键入该路径的任何人都可以查看这些文件。我是为了让只有有权访问的人才能查看它。我该怎么做?谢谢。

【问题讨论】:

  • 使用 .htaccess.htpasswd - 让他们原地踏步。
  • 但是如果他们输入整个路径,即:www.mysite.com/uploads/name.doc,他们是否仍然可以访问它?以及我将如何允许管理员仍然访问文件夹/文件。我正在使用 php 顺便说一句。
  • 您的 PHP 运行情况如何?使用 FastCGI 还是 Apache?
  • @AshvicGodinho 他们这样做没关系。只需将所有受保护的文件保存在同一个文件夹中,就可以了。只要确保保护文件本身或整个文件夹即可。你可以做任何一个。如何允许管理员,管理员需要知道用户名和密码才能进入。
  • @AshvicGodinho 这是另一个选项,它是仅密码访问方法。不幸的是,sas.php 的制作者不再提供脚本。但是有人确实在另一个论坛上发布了它,您需要做的就是在每个受保护的页面上使用此代码。 <?php require('sas.php'); ?> 然后只需将您的 .doc 隐藏在世界无法查看的文件夹中,并使用受保护页面内的链接并使文件可下载。这是链接dynamicdrive.com/forums/showthread.php?57288-SAS-script

标签: php web directory web-folders


【解决方案1】:

您应该使用 .htaccess 来管理所有具有登录名和密码的用户。

更多信息请点击链接:http://www.elated.com/articles/password-protecting-your-pages-with-htaccess/

【讨论】:

    【解决方案2】:

    第 1 步:不要将文件上传到 docroot 中的文件夹。也就是说,如果您的文档根目录是/var/www/html,则将上传位置设置为/var/www/uploads

    步骤 2:创建一个 PHP 文件 accessfile.php 来验证 admin 并将文件名作为$_GET 参数。例如http://site.com/accessfile.php?file=myfile.pdf

    在accessfile.php中,你可能想写一个如下的小程序:

    header("Content-Disposition: attachment");
    file_get_contents("/var/www/uploads/{$file}");
    

    第 3 步:如果管理员需要浏览,请创建快速浏览选项:

    function &list_directory($dirpath) {
        if (!is_dir($dirpath) || !is_readable($dirpath)) {
            error_log(__FUNCTION__ . ": Argument should be a path to valid, readable directory (" . var_export($dirpath, true) . " provided)");
            return null;
        }
        $paths = array();
        $dir = realpath($dirpath);
        $dh = opendir($dir);
        while (false !== ($f = readdir($dh))) {
            if (strpos("$f", '.') !== 0) { // Ignore ones starting with '.'
                $paths["$f"] = "$dir/$f";
            }
        }
        closedir($dh);
        return $paths;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-03
      相关资源
      最近更新 更多