勉強したことのメモ

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

  関連記事

AlmaLinux8系に異なるバージョンのPHPをインストールする方法
AlmaLinux8系に異なるバージョンのPHPをインストールする方法

AlmaLinux8系&Apache2.4系の環境に異なるバージョンのP ...

PHPで画像のフォーマット(拡張子)の変換
PHPで画像のフォーマット(拡張子)の変換

画像のアップロードでjpg/png/gif形式を受け付けつつ、 最終的にjpgで ...

PHPとSQLiteでi-mobileのデータをグラフ化する方法
PHPとSQLiteでi-mobileのデータをグラフ化する方法

i-mobileでクリック保証のアフィリエイトだけど数値が並んでいるだけでグラフ ...

imgタグのsrc属性のURLにPHPでタイムスタンプを付与しキャッシュ対策する方法
imgタグのsrc属性のURLにPHPでタイムスタンプを付与しキャッシュ対策する方法

imgタグで画像を表示する際、画像を書き換えても同じものが表示されるというケース ...

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

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