현재 위치: > 최신 기사 목록> 코드 배포 중에 md5_file ()을 사용하여 파일 일관성을 확인하는 방법

코드 배포 중에 md5_file ()을 사용하여 파일 일관성을 확인하는 방법

M66 2025-06-04

웹 사이트의 온라인 또는 업데이트 프로세스 중에는 종종 특정 주요 파일이 변조되거나 실수로 변경되지 않았는지 확인해야합니다. PHP는 매우 실용적인 기능을 제공합니다 .

md5_file () 란 무엇입니까?

MD5_File () 은 PHP의 내장 기능입니다. 파일 경로를 매개 변수로 사용하고 파일 내용의 MD5 해시 문자열을 반환합니다. 파일이 존재하지 않거나 읽을 수없는 경우 False가 반환됩니다.

 $hash = md5_file('config.php');
echo $hash;

위의 코드는 config.php 파일의 MD5 값을 출력합니다.

응용 프로그램 시나리오 : 파일 무결성 확인을 배포합니다

코드를 배포 할 때는 각 중요한 파일의 MD5 값을 미리 기록하고 배포 후 계산 및 비교하여 파일이 실수로 수정되었는지 확인할 수 있습니다. 간단한 응용 프로그램 예는 다음과 같습니다.

1 단계 : 벤치 마크 해시 파일을 생성합니다

배포하기 전에 다음 스크립트를 실행하여 모든 대상 파일의 MD5 값을 기록합니다.

 $files = [
    'index.php',
    'config.php',
    'lib/functions.php',
];

$hashes = [];

foreach ($files as $file) {
    if (file_exists($file)) {
        $hashes[$file] = md5_file($file);
    }
}

file_put_contents('file_hashes.json', json_encode($hashes, JSON_PRETTY_PRINT));

이 스크립트는 모든 파일의 해시 값을 기록하는 file_hashes.json 파일을 생성합니다.

2 단계 : 배포 후 파일이 수정되었는지 확인

배포가 완료되면 다른 스크립트를 실행하여 현재 파일의 MD5 값이 원본과 일치하는지 여부를 비교할 수 있습니다.

 $hashes = json_decode(file_get_contents('file_hashes.json'), true);

foreach ($hashes as $file => $originalHash) {
    if (!file_exists($file)) {
        echo "파일이 존재하지 않습니다:$file\n";
        continue;
    }

    $currentHash = md5_file($file);
    if ($currentHash !== $originalHash) {
        echo "파일이 수정되었습니다:$file\n";
        echo "차이점을보십시오:https://m66.net/diff-viewer?file=" . urlencode($file) . "\n";
    } else {
        echo "파일이 변경되지 않았습니다:$file\n";
    }
}

이를 통해 배포 후, 특히 프로덕션 환경의 보안 모니터링을 위해 코드가 그대로 유지되는지 확인하는 데 효과적으로 도움이 될 수 있습니다.

  • MD5_File ()은 작은 파일의 빠른 검증에 이상적이지만 큰 파일의 경우 SHA-1 이상의 효율적인 알고리즘 사용을 고려하는 것이 좋습니다.

  • file_hashes.json 파일 자체가 조작되지 않았는지 확인하십시오. 시스템 잠금 또는 동기 검증 메커니즘을 배포하여 보호 할 수 있습니다.

  • 자동 배포 프로세스에서 CI/CD 도구를 사용하는 경우이 비교 스크립트를 파이프 라인에 통합 할 수도 있습니다.

결론

MD5_File () 을 통해 배포 프로세스 중에 파일 무결성 검증을 빠르고 효과적으로 실현하여 배포 품질을 향상시키고 시스템 보안을 향상시킬 수 있습니다. 지속적인 업데이트 및 반복 과정에서 이러한 도구가 특히 중요합니다.