这样安全吗? (PHP下载脚本) - php

我有一个简短的问题,关于这样做的安全性。我已经编写了一个php强制下载脚本,实际为文件提供服务的部分应该看起来很熟悉:

header('Content-Description: File Transfer');
header('Content-Type: application/force-download');
header('Content-Length: ' . filesize("user_files/".$temp_actual));
header('Content-Disposition: attachment; filename="'.$filename."\"");
readfile("user_files/".$temp_actual);

$filename是他们看到的文件名,而$temp_actual是我的服务器上的REAL文件名。显然,在此之上有很多代码可以防止发生坏事,但是基本上,用户应该可以下载他们上传的所有内容。如果他们上载.php文件,我真的不希望它在服务器上运行,我希望它通过downdownad传递给他们(他们确实需要能够上载任何文件类型)。

它按预期工作,所有文件扩展名都被强制下载,但是我只想绝对确定它们不能在我的服务器上运行任何php或html文件。

附加信息

user_files在网站根目录中,但.htaccess是“所有人都拒绝”
user_files目录中的每个文件都将附加.file而不是原始扩展名,当用户下载其文件时,原始扩展名将被替换(可能有点高)。

参考方案

网站根目录中的user_files文件夹吗?如果是这样,他们可以上传php文件并导航到http://mysite.com/user_files/somefile.php并运行代码。授予他们他们需要知道文件的临时名称的权限,但是,如果您尚未知道该文件的临时名称,则应确保您的Web服务器已设置为不允许从该文件夹提供页面(或将其移到文档根目录之外) 。

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP-如何获取类的成员函数列表? - php

如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友

PHP-我们应在会话中包含哪些数据? - php

这是一个初学者的问题...在网站中,会话中应该包含或不应该包含什么类型的数据?我了解我不应该包含任何需要保持安全的信息。我对编程最佳实践更感兴趣。例如,有可能在会话中包括一些数据,否则这些数据将作为依赖项注入从一个页面发送到另一个页面。这不等于创建全局变量吗?一般来说,哪种数据在会话表中已经存在或没有?谢谢,JDelage 参考方案 您应该将会话视为一次写入…

php ziparchive类源代码 - php

Improve this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…

PHP getallheaders替代 - php

我正在尝试从服务器上的apache切换到nginx。唯一的问题是我在PHP脚本中使用的getallheaders()函数,该函数不适用于Nginx。我已经尝试过用户在getallheaders函数上的php站点上提供的注释,但这并不返回所有请求标头。请告诉我如何解决这个问题。我真的想切换到Nginx。 参考方案 您仍然可以使用它,但是您必须像这里一样重新定义…