Хеш файла
В целях безопасности можно проверять хеш файла, чтобы убедиться, что пользователь получит именно тот файл, который он запрашивает.
Получить хеш файла можно через функцию md5_file()
или sha1_file()
.
md5_file('archive.zip'); // 3ea082a567f08b05754065d4cb9aa4a7
sha1_file('archive.zip'); // 63114cdb309a3d4c680fa86bbf6ad1719f1630a0
Теперь можно проверять корректность файла через код ниже:
$file_hash = '3ea082a567f08b05754065d4cb9aa4a7';
if ($file_hash == md5_file('archive.zip')) {
// Файл корректен
}
Если поменять название файла, то хеш это не затронет. Но если заменить хотя бы один символ в исходном коде, то хеш файла станет другим.
Если указанного файла не будет, то функция md5_file()
вернёт false
, а также выведет предупреждение «Warning: failed to open stream: No such file or directory».
Также через хеш файла можно найти дубликаты файлов на сервере, или при загрузке файла определять, что данный файл уже есть, и вместо загрузки просто возвращать уже загруженный файл.
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта