Как получить md5 строки или файла наперед

lutskboy
На сайте с 22.11.2013
Offline
192
597

Привет

Подскажите мне по такому вопросу

есть допустим файл


<?php
echo 'string';
?>

а мне нужно сделать так


<?php
if(md5_file(__FILE__)!='ki98uhygt654rfdeew32') die('file corupted');
echo 'string';
?>

то есть проверить md5 файла и если он не такой то пишет file corupted

как мне получить наперед етот хеш ?

AS
На сайте с 12.12.2017
Offline
6
#1

А вариант использовать include и вычислять хеш для инклудного файла не подходит?

NothingMatters
На сайте с 12.06.2017
Offline
45
#2

На самом деле бредовая идея. Лучше просто создать список хешей для всех файлов проекта (которые нужно отслеживать) и по крону проверять их периодически.

lutskboy
На сайте с 22.11.2013
Offline
192
#3

да мне для других целей нужно

просто видел такие файлы но не знаю как они так сделали

ето типа как защита от модификации файла

изменил хоть один символ и все . не работает

Оптимизайка
На сайте с 11.03.2012
Offline
396
#4
lutskboy:
видел такие файлы

А где видели, именно с md5? С хешем должно быть непросто (поиск коллизий), а вот с crc32 какой нить просто.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Оптимизайка
На сайте с 11.03.2012
Offline
396
#5
lutskboy:
изменил хоть один символ и все не работает

А если не один символ, т.е. вырезать эту проверку никто не мешает же.

S
На сайте с 30.09.2016
Offline
469
#6

lutskboy, а чем не устраивает file_get_contents?

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
[umka]
На сайте с 25.05.2008
Offline
456
#7
Оптимизайка:
А если не один символ, т.е. вырезать эту проверку никто не мешает же.

Думаю, это в первую очередь для борьбы с вредителями, а не расхитителями :)

Хотя, даже если удастся сделать такой трюк с md5, то вредоносный код может добавиться ДО проверки, и тогда все труды будут насмарку.

Лог в помощь!
RiDDi
На сайте с 06.06.2010
Offline
285
#8

ну можно типа


if(($hash = 'ki98uhygt654rfdeew32') && md5(str_replace($hash, '', file_get_contents(__FILE__))) != $hash) die('file corupted');

только чем это поможет, - злоумышленник просто уберет это условие и всё..

Вебмастер отдыхает на бережках морей. Заработок в интернете - дело техники.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий