勉強したことのメモ

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

  関連記事

フォームからCSVファイルをアップロードしてPHPの配列に格納する方法
フォームからCSVファイルをアップロードしてPHPの配列に格納する方法

formからcsvファイルをアップロードさせて、PHPで色々処理したかった。とり ...

PHPから他サーバのAPIに対してPOST送信する方法
PHPから他サーバのAPIに対してPOST送信する方法

PHPから他サーバのAPIに対してPOSTでリクエストしたかった。GETだったら ...

PHPにてacebook / twitter / Googleアカウントでソーシャル(SNS)ログインする方法
PHPにてacebook / twitter / Googleアカウントでソーシャル(SNS)ログインする方法

PHPにて制作したシステムで「facebook / twitter / Goog ...

PukiWikiでバックアップを週一等スケジュール化して実行する方法
PukiWikiでバックアップを週一等スケジュール化して実行する方法

PukiWikiでバックアップを取りたかった。調べたらディレクトリごと保存すれば ...

PHPからWebAPI(screendot)経由で他サイトのスクリーンショットを取得する方法
PHPからWebAPI(screendot)経由で他サイトのスクリーンショットを取得する方法

PHPで他サイトのスクリーンショットを取得したい。今回はライブラリは無しで実現し ...