hu hu und hallo,
ok also ich hab die .htaccess in meinen html - hauptordner geschmissen.
text im .htaccess :
PHP:
RewriteEngine On
RewriteRule ^bilder/(.*)$ bilder/logimageaccess.php
danach kann ich keine bilder vom ordner bilder mer sehen ((( heul )))
die logimagessecret.txt hab ich in einen odner namens secret gelegt.
Die logimageaccess.php liegt ebenso im ordner bilder drin.
hier die ausgabe der logimageaccess.php
Array
(
[DOCUMENT_ROOT] => /var/www/web10/html
[GATEWAY_INTERFACE] => CGI/1.1
[HTTP_ACCEPT] => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_ACCEPT_LANGUAGE] => de
[HTTP_CONNECTION] => Keep-Alive
[HTTP_HOST] =>
http://www.xxxxxx.de
[HTTP_UA_CPU] => x86
[HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
[PATH] => /bin:/usr/bin
[QUERY_STRING] =>
[REDIRECT_STATUS] => 200
[REMOTE_ADDR] => xx.xxx.xxx.xx
[REMOTE_PORT] => xxxxxx
[REQUEST_METHOD] => GET
[REQUEST_URI] => /bilder/logimageaccess.php
[SCRIPT_FILENAME] => /var/www/web10/html/bilder/logimageaccess.php
[SCRIPT_NAME] => /bilder/logimageaccess.php
[SERVER_ADDR] => xxx.xxx.xxx.xx
[SERVER_ADMIN] => [no address given]
[SERVER_NAME] =>
http://www.xxxxxx.de
[SERVER_PORT] => xxxx
[SERVER_PROTOCOL] => HTTP/1.1
[SERVER_SIGNATURE] =>
[SERVER_SOFTWARE] => Apache/2.0.55 (Debian)
[downgrade_1_0] => 1
[force_response_1_0] => 1
[nokeepalive] => 1
[ssl_unclean_shutdown] => 1
[PHP_SELF] => /bilder/logimageaccess.php
[argv] => Array
(
)
[argc] => 0
)
Logfile geöffnet
Logbit geschrieben
Logfile geschlossen
HTTP Docs in '/var/www/web10/html/bilder' - Verzeichnis vorhanden: bool(false)
Zugriff auf '/var/www/web10/html/bilder/bilder/logimageaccess.php' - Datei vorhanden: bool(false)
Datei nicht gefunden...
warum hat er denn auf einmal den ordner bilder doppelt
meine logimageaccess.php sieht wie folgt aus:
PHP:
<?php
/**
* logimageaccess.php
*/
header('Content-Type: text/plain');
print_r($_SERVER);
// Log schreiben liegt im ordner bilder
if ($fp = @fopen('../secret/logimagessecret.txt', 'a')) {
print("Logfile geöffnet\n");
$log = "<< " . date('Y-m-d h:i:s') . " >>\t"
. "'{$_SERVER['HTTP_USER_AGENT']}'\n\r"
. "refer: '{$SERVER['HTTP_REFERER']}'\n\r"
. "request-uri: '{$_SERVER['REQUEST_URI']}{$_SERVER['QUERY_STRING']}\n\r\n\r";
@fwrite($fp, $log);
print("Logbit geschrieben\n");
fclose($fp);
print("Logfile geschlossen\n");
}
// $fp to null
$fp = null;
// Verzeichnis, in dem die sichtbaren Dokumente lagern
$httpdocsdirectory = "/var/www/web10/html/bilder";
print("HTTP Docs in '{$httpdocsdirectory}' - Verzeichnis vorhanden: ");
var_dump(is_dir($httpdocsdirecotry));
// realer Pfad zum Requestfile
$realpath = realpath($httpdocsdirectory . $_SERVER['REQUEST_URI']);
print("Zugriff auf '{$realpath}' - Datei vorhanden: ");
var_dump(is_dir($realpath));
// Sicherheitsüberprüfung um nicht auf Dokumente außerhalb des HTTPDocs Verzeichnis zuzugreifen
if (strpos($realpath, $httpdocsdirecotry) === false) {
print("Datei nicht gefunden...\n");
exit;
}
// Wenn Datei gelesen werden kann und ein Bild ist ...
if (is_readable($realpath) AND is_file($realpath) AND $finfo = getimagesize($realpath)) {
print("Datei lesbar und Bildinformationen gespeichert\n");
if (empty($finfo)) {
print("Keine Bildinformationen vorhanden\n");
exit;
}
print("Sende CT Header");
switch ($finfo[2]) {
case 1:
header('Content-Type: image/gif');
break;
case 2:
default:
header('Content-Type: image/jpeg');
break;
case 3:
header('Content-Type: image/jpeg');
break;
}
// Daten ausgeben
if ($fp = @fopen($realpath, 'r')) {
print("Daten ausgeben ...\n");
@fpassthru($fp);
exit;
}
}
und das steht in der log drin -- hab ich vergessen:
<< 2007-08-15 04:53:45 >> 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)'
refer: ''
request-uri: '/bilder/spacer.gif
<< 2007-08-15 05:14:42 >> 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)'
refer: ''
request-uri: '/bilder/logimageaccess.php
was mache ich denn noch falsch
Gruß Ricci