File: /home/panomity.de/panomity.com/dyndns/update_debug.php
<?php
/* debug_update.php – verbosely logs a DynDNS call from the FRITZ!Box
* Drop it next to your existing update.php.
* chmod 640 and make it readable by the web server user (nobody, lsadm, …)
*/
$logFile = '/tmp/fritz_dyndns.log'; // writeable by webserver
$now = date('c');
/* ---- collect request data ------------------------------------------ */
$lines = [];
$lines[] = "==== $now =================================================";
$lines[] = 'REMOTE_ADDR='.($_SERVER['REMOTE_ADDR'] ?? '');
$lines[] = 'REQUEST_URI='.$_SERVER['REQUEST_URI'];
$lines[] = 'REQUEST_METHOD='.$_SERVER['REQUEST_METHOD'];
$lines[] = '-- HEADERS ------------------------------------------------';
foreach (getallheaders() as $k => $v) {
$lines[] = "$k: $v";
}
$lines[] = '-- GET ----------------------------------------------------';
foreach ($_GET as $k => $v) {
$lines[] = "$k = $v";
}
$lines[] = '-- AUTH ---------------------------------------------------';
$lines[] = 'PHP_AUTH_USER='.($_SERVER['PHP_AUTH_USER'] ?? '');
$lines[] = 'PHP_AUTH_PW ='.($_SERVER['PHP_AUTH_PW'] ?? '');
$lines[] = "================================================================\n";
/* ---- write log atomically ----------------------------------------- */
file_put_contents($logFile, implode("\n", $lines), FILE_APPEND | LOCK_EX);
/* ---- minimal DynDNS response so the box thinks “success” ---------- */
$ip = $_GET['myip'] ?? $_SERVER['REMOTE_ADDR'];
if (!filter_var($ip, FILTER_VALIDATE_IP)) {
echo "911 bad ip\n"; // Box will log Fehlergrund 13
exit;
}
echo "good $ip\n"; // makes the box think update OK