MD5sum отличается от того, что было загружено - PullRequest
0 голосов
/ 16 апреля 2020

Я проверяю сумму MD5 файла .iso перед загрузкой на мой сайт с помощью Filezilla в активном режиме. Сумма MD5 рассчитывается на веб-сайте и соответствует тому, что было рассчитано перед загрузкой. Если я загружаю тот же файл с веб-сайта, используя следующий код, сумма MD5 отличается.

    <?php

$php_scripts = '../../php/';
require $php_scripts . 'PDO_Connection_Select.php';
require $php_scripts . 'GetUserIpAddr.php';
function mydloader($l_filename=NULL)
{
$ip = GetUserIpAddr();
if (!$pdo = PDOConnect("foxclone"))
{
    echo "Failed to connect to database" ;
    exit;
}
    if( isset( $l_filename ) ) {
 //       var_dump($ip,$l_filename);
        $stmt = $pdo->prepare("INSERT INTO download (IP_ADDRESS, FILENAME) VALUES (?, ?)");
        $stmt->execute([$ip, $l_filename]) ;

        header('Content-Type: octet-stream');
        header("Content-Disposition: attachment; filename={$l_filename}");
        header('Pragma: no-cache');
        header('Expires: 0');

        readfile($l_filename); 

        echo "Made it here";
        }
    else {
        echo "isset failed";
        }
}

mydloader($_GET["f"]);

Почему это происходит?

РЕДАКТИРОВАТЬ: я обнаружил разницу, открыв оба оригинала iso и загруженный iso в редакторе атомов. В загруженной версии в начало файла добавлено следующее:

herestring(14) “xx.xxx.xxx.xxx” <— my ip
string(17) “foxclone35-02.iso”
herestring(14) “xx.xxx.xxx.xxx”
string(17) “foxclone35-02.iso”

1 Ответ

0 голосов
/ 16 апреля 2020

Решено путем удаления некоторого кода отладки, который был добавлен в загруженный файл.

...