Php 阻止人们从网站窃取文件

Php 阻止人们从网站窃取文件,php,Php,我正在创建一个工作网站,员工将上传简历/简历 我如何才能阻止其他人查看他人的简历,阻止搜索引擎索引此内容?很简单。如果没有身份验证,请不要使文件可用。您可以使用身份验证系统,并且不要向下载程序提供公共url。 例如,您可以创建如下表: file_name | file_path | file_code ------------------------------------------------------- My picture | /var/docs/img.j

我正在创建一个工作网站,员工将上传简历/简历


我如何才能阻止其他人查看他人的简历,阻止搜索引擎索引此内容?

很简单。如果没有身份验证,请不要使文件可用。

您可以使用身份验证系统,并且不要向下载程序提供公共url。 例如,您可以创建如下表:

file_name    | file_path         |  file_code
-------------------------------------------------------
My picture   | /var/docs/img.jpg | kljsldjalksdqhq1218
用户登录并满足您定义的标准后,您将向其显示下载链接:

然后查询数据库,检查正确的关联,然后读取文件-该文件位于文档根btw之外,例如使用file_get_contents,并将其显示为八位字节流,或文件类型的另一个适当MIME,以强制下载文件;大致如下:

header('Content-Type: "'.$mime.'"');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Pragma: no-cache');
header("Content-Length: ".strlen($file)); 

只需阻止URLhttp://YourSite/downloadAllResumesusing htaccess或使用不同的methods@Lalajee,这取决于你的需要和环境,你还没有发布。并添加到相关页面的元中。你必须登录才能查看文件,但我不会对雇主和雇员隐藏我的保存路径。也许还有授权提示?正如你所知,文件系统路径和资源URL不必对齐。事实上,这根本不是为了让它们相互关联——这只是一种为静态文件提供服务的简单方法。您可以按自己喜欢的方式重新排列URL空间,甚至可以将它们隐藏在文档根上……问题是,如果用户可以访问/files/resume001.pdf,那么其URL是否为/resumes/001真的很重要吗?不管怎样,如果没有适当的身份验证/授权,你就是在让人们访问。拉拉吉,你是什么意思?无论如何,您应该将文件保存在web根目录之外。这就是@cHao的目的。除此之外,不要让系统中的文件与用户上传的文件同名。您可以保留该文件名,以便用户稍后下载时可以返回该文件,但本地系统上的文件名应该是随机的,并且没有扩展名。我要做的是以时间为名称上载该文件,并且最后没有exe。这是domain.com/download.php?id=2的链接。然后检查表中的id,用户可以下载该文件。我所做的和你在回复中所写的一样。我的文件是否仍然可以从我的服务器获取。