6

Linuxシステムからファイルを削除またはより適切にワイプするための優れたPHPソリューションを誰かが知っていますか?

シナリオ:ファイルは暗号化されて保存されます。ダウンロードが要求されると、ファイルは一時フォルダーにコピーされ、復号化されます。これはすでに機能しています。

しかし、ユーザーに送信した後、一時的な場所からファイルを削除するにはどうすればよいですか?

私の考えでは、次のオプションがあります。

  • 「fopen」を介してファイルを開き、それに0,1を書き込みます(非常に遅いと思います)
  • ファイルをハードディスクではなくMemcacheに保存します(私のホスティング事業者に問題がある可能性があります)
  • コマンドラインまたはcronjobとしてsomd3rdparyツールを使用します(インストールに問題がある可能性があります)

目標:回復(ワイプ/上書き)の可能性なしに、ハードディスクからファイルを削除します

4

2 に答える 2

7

exec/system/passthru 経由で「 shred 」を呼び出します

于 2012-06-13T09:22:56.517 に答える
5

おそらく最善の方法は、そもそもファイルを復号化された状態で保存しないことです。

代わりに、ストリーム フィルターを使用してオンザフライで復号化し、エンド ユーザーに直接送信します。

アップデート

このコードを考慮すると、オプション 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が、それは遅くなります。

于 2012-06-13T09:26:44.683 に答える