勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPのhash_file関数でファイルの改ざんを検知する方法

  PHP

サイト内の特定の数ページのみ簡易的なものでも良いので自動でファイルの改ざんチェックを行ってほしいと要望を受けた。差分を出してチェックするのは大変そうだけど簡易的なもので良いのであればhash_file関数でハッシュ値を比較するのが良さそう。以下に簡単な使い方をメモ。

 

利用方法

ソースコード

<?php
$file = './test.js';
var_dump(hash_file('sha256', $file)); //string(64) "2f3019ac80d538665733681f971504097d3d796ec5a91bb69797967b08ab5802"

解説等

ファイルの内容からハッシュ値を生成できるので、値をデータベース等に格納しておき、値が異なっていれば通知を行うような形でいけそう。後はCronで自動実行すれば良い。

 

リファレンス

hash_file

https://www.php.net/manual/ja/function.hash-file.php

 - PHP

  関連記事

PHPにて「ImageHash」ライブラリを使用し画像の類似度を算出する方法
PHPにて「ImageHash」ライブラリを使用し画像の類似度を算出する方法

以前にPHPの「image-comparator」ライブラリで画像の類似度を算出 ...

PHPでテンプレートPDFにリンク付きの文字を追記する方法(TCPDF&FPDI)
PHPでテンプレートPDFにリンク付きの文字を追記する方法(TCPDF&FPDI)

以前、PHPのTCPDF&FPDIを用いてテンプレートPDFに対し、動的 ...

PHPで外部のAPIにリクエストする際に並列処理(非同期実行)する方法
PHPで外部のAPIにリクエストする際に並列処理(非同期実行)する方法

あるシステムからPHPで外部のAPIにリクエストしたかった。ただ、複数回リクエス ...

ディレクトリに設置してあるフォルダをPHPで調べて表示
ディレクトリに設置してあるフォルダをPHPで調べて表示

やりたい事はsampleというディレクトリがあったとして、その直下にあるフォルダ ...

AlmaLinux8&PHP8系の環境にComposerをインストールする方法
AlmaLinux8&PHP8系の環境にComposerをインストールする方法

AlmaLinux8&PHP8系の環境にComposerをインストールし ...