Ubuntu 14服务器 – 在下载文件之前设置用户名密码提示

我有一个Ubuntu 14服务器(我正在使用一个LAMP堆栈),它目前正在托pipe一个我做的网站。 我已经上传了一个zip文件,任何有链接的人都可以下载并下载。 但是,这可能会非常快速地出现问题。 比方说,这些文件可以转到如下path:

homepage.com/src/file1.zip 

任何有足够好奇心的人都可以继续,inputhomepage.com/src/并查看整个目录,然后开始下载他们可能在那里看到的其他文件。 它也不会阻止他们试图访问其他文件夹,如homepage.com/source/ ,只是尝试和钓鱼文件夹。

为了防止这种情况,我的想法是为我的文件夹/文件创build一个“AuthFile”,以便当有人绊倒它时,他们必须input正确的用户名密码才能下载它。 这将与本教程中所示的保护phpMyAdmin页面类似,并将导致此提示:

auth屏幕

但是,在创buildAuthFiles后,我不认为我可以将其应用于文件夹或文件。 因此,让我回到我的主要问题:

我怎样才能提示用户input用户名密码组合才能下载文件?

如果这不是一个选项,你们如何pipe理谁来下载服务器上的某些文件,确保没有人只是pipe理你的文件?

任何帮助和指导,非常感谢。

你想要的是在Apache中称为.htaccess。

有关详细信息,请参阅Apache文档 。

基本上,.htaccess允许在文件夹级别更改Apache的configuration。 您只需在文件夹中放置一个名为.htaccess的文件,然后对其进行编辑。 对于基本身份validation,您首先需要创build一个凭证文件:

 sudo htpasswd -c /etc/apache2/.htpasswd username 

然后,您可以在要保护的文件夹中放置一个名为.htaccess的文件,内容如下:

 AuthType Basic AuthName "Protected" AuthUserFile /etc/apache2/.htpasswd Require valid-user 

.htpasswd的path可以自由select,但要注意将其放入公众无法访问的文件夹中。