安全与PHP 5.3.x删除(Secure delete with PHP 5.3.x)

2019-09-18 01:58发布

是否有人知道一个良好的PHP解决方案删除或更好地从Linux系统的擦拭文件?

场景:文件被加密并保存,当请求下载的文件拷入到一个临时文件夹和解密。 这已经是工作。

但在发送给用户之后如何从临时位置的文件?

在我心目中,我有以下选择:

  • 通过“FOPEN”打开文件,写0,1进去(认为非常慢)
  • 保存文件到内存缓存,而不是硬盘上(可能是我的主机供应商的问题)
  • 在命令行或使用的cronjob 3 SOMD工具pary(可能是一个问题,安装)

目标:删除硬盘上的文件,没有可能恢复(擦/覆盖)

Answer 1:

呼叫“ 一丝一毫 ”通过的exec /系统/中继



Answer 2:

可以说最好是永远不会将文件保存在其解密状态摆在首位。

相反,使用流过滤器对其进行解密在即时和直接发送给最终用户。

更新

你选择1其实不是太糟糕,如果你考虑以下代码:

$filename = 'path/to/file';
$size = filesize($filename);

$src = fopen('/dev/zero', 'rb');
$dest = fopen('/path/to/file', 'wb');

stream_copy_to_stream($src, $dest, $size);

fclose($src);
fclose($dest);

你可以选择/dev/urandom为好,但将是缓慢的。



文章来源: Secure delete with PHP 5.3.x
标签: php linux