Безопасное удаление с помощью PHP 5.3.x


Знает ли кто-нибудь хорошее решение PHP для удаления или лучшего удаления файла из системы Linux?

Сценарий: Файл зашифрован и сохранен, при запросе загрузки файл копируется во временную папку и расшифровывается. Это уже работает.

Но как удалить файл из временного хранилища после отправки пользователю?

На мой взгляд, у меня есть следующие варианты:

  • Откройте файл с помощью "fopen" и напишите в него 0,1 (подумайте очень медленно)
  • Сохраните файл в Memcache вместо жесткого диска (может быть проблема с моим хостером)
  • Используйте инструмент somd 3rd pary в командной строке или в качестве cronjob (может возникнуть проблема с установкой)

Цель: Удалить файл с жесткого диска без возможности восстановления (стереть/перезаписать)

 6
Author: opHASnoNAME, 2012-06-13

2 answers

Вызов "клочок" через exec/system/passthru

 7
Author: breiti, 2012-06-13 09:22:56

Возможно, лучше всего вообще никогда не сохранять файл в его расшифрованном состоянии.

Скорее используйте потоковые фильтры , чтобы расшифровать его на лету и отправить непосредственно конечному пользователю.

Обновление

Ваш вариант 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, но это будет медленно.

 5
Author: Ja͢ck, 2012-06-13 09:38:13