Hallo, alle zusammen,
aus von bot-trap.de gegebenen Anlass:
bei http://www.bot-trap.de/wiki/wikka.php?wakka=PageRestrictorCustom findet man folgenden Hinweis:
WICHTIGE AENDERUNGEN AUS SICHERHEITSGRUENDEN ZUM 01.07.2008:....
Eine davon betrifft die restrictor_log.php im Verzeichnis: ./admin/modules/
nämlich:
define('PRES_LOG_FILE', 'dein-pfad/dein-logfile.log');//Log-Datei auf eigenen Pfad umstellen,
z.B. taegl. neue Log-Datei via date("Ymd") ..
Für den pagerestrictor_log 0.3c UND damit für pragmaMx bedeutet dieses:
Der Logfile-Pfad wird durch eine Konstante 'PRES_LOG_FILE' definiert.
Vorher geschah dieses über die Variable '$presLogFile'.
Wird die NEUE Konstante NICHT definiert, wird das Log.File im
Verzeichnis des PRES unter dem Namen: page.restrictor.log abgelegt.
Nun gibt es 2 Möglichkeiten fuer den page_restrictor 0.3c:
#####################################
1. Ohne Aenderung der mainfile.php:
In der admin/modules/page_restrictor.php den Logfilepfad aendern (~ Zeile 15):
von:
$logfile = './restrictor/log/'.date("Ymd").'.log';
in:
$logfile = './restrictor/page.restrictor.log';
Mit dieser Aenderung entfällt das TAEGLICHE Logfile und das von PRES angelegte File 'page.restrictor.log'
muss nach einer gewissen Zeit wieder geleert werden.
####
ODER
####
2. Mit Aenderung der mainfile.php:
a) mainfile.php:(ca. Zeile ~158)
-----------------------------
Aendere die folgende Zeile
von:
$presLogFile = $_SERVER['DOCUMENT_ROOT'] . '/restrictor/log/'.date("Ymd").'.log';
in:
define('PRES_LOG_FILE', ''. $_SERVER['DOCUMENT_ROOT'] . '/restrictor/log/'.date("Ymd").'.log');
//Hinweis: Alles EINFACHE Hochstriche, ausser "Ymd".
UND
b) admin/modules/restrictor_log.php: (ca. Zeile ~15)
-------------------------------------------------
Aendere Zeile::
von:
$logfile = './restrictor/log/'.date("Ymd").'.log';
in die Zeilen:
if (!defined("PRES_LOG_FILE")) die("constant (log) not found"); //Abbruch mit Meldung, wenn NICHT definiert.
$logfile = PRES_LOG_FILE;
Mit dieser Aenderung bleiben die TAEGLICHEN Log-Files erhalten.
#####################################
Ich pers. ziehe die Aenderung Nr.2 vor.
MfG
Gerd
Hallo,
ich vermute mal das ist nicht die originale mainfile.php. Denn in meiner sieht der Bereich so aus:
/**
* restrictor von http://www.bot-trap.de/
*/
if (!defined('mxDontLoadPageRestritor') && ((!MX_IS_ADMIN && !MX_IS_USER) || (MX_IS_ADMIN && isset($_GET['pres']))) && file_exists('./restrictor/page.restrictor.php')) {
if (!MX_IS_ADMIN) {
unset($_GET['pres']);
}
@chdir('./restrictor');
@include_once('./page.restrictor.php');
@chdir(dirname(__file__));
unset($forbiddenIPs, $forbiddenIPRanges, $forbiddenUAs, $forbiddenReferers);
}
VG Marc
Hallo, icke,
richtig vermutet.
Die Aenderung gilt also nur fuer den Fall, dass fuer das pagerestrictor_log 0.3c Script die blaue Zeile (die Zeile fuer die taeglichen LogFiles) bereits hinzugefuegt wurde. Die Konst-Definition ist jedoch immer dann noetig, wenn fuer das Log-File ein anderer Pfad (oder auch Name) als der PRES-Pad eingerichtet ist.
Gruss
Gerd
Hallo Gerd,
aber wo ist das denn her?
In der Installationsanweisung zum page restrictor log v0.3c steht zu dieser Codeänderung nichts. Es sollen nur die Dateien übertragen werden und fertig.
VG Marc
Hi _icke_ ;)
ich glaube das ganze stammt aus dem Bot-Trap-Wiki :smile:
Füg die Zeile define('PRES_LOG_FILE', ''. $_SERVER['DOCUMENT_ROOT'] . '/restrictor/log/'.date("Ymd").'.log');
einfach vor @include_once('./page.restrictor.php');
ein ;)
Dann stimmt´s wieder :BD:
Gruß Gerhard
Hallo, da ich das gleiche Problem wie icke habe, habe ich es so gemacht wie GerhardSt es geschrieben hat, bei mir kommt dann im Adminmenü eine weiße Seite mit constant (log) not found!
Soll das so sein??
Hi eazychecker :BD:
Wenn du in der admin/modules/restrictor_log.php auch die Änderungen gemacht hast, dann stimmt´s ;)
Lass dort einfach die Zeile
$logfile = './restrictor/log/'.date("Ymd").'.log';
dann funktioniert´s :smile:
Gruß Gerhard
Hallo Gerhard,
vielen Dank fuer Deine Hilfe,
es ist tatsächlich so, dass die Zeile
define('PRES_LOG_FILE', ''. $_SERVER['DOCUMENT_ROOT'] . '/restrictor/log/'.date("Ymd").'.log');
direkt vor
@include_once('./page.restrictor.php'); in der mainfile.php eingebunden werden muss!
Damit entfällt die Abfrage der Definition und die Variablenzuweisung.
In der restrictor_log.php braucht demnach keine weitere Aenderung mehr durchgeführt zu werden.
Durch Deine Erklärung ist mir erst jetzt klar geworden, obwohl alles bestens lief, dass ich diese Zeile viel früher,
also FALSCH eingebunden hatte. Vielen Dank.
Gruss
Gerd
OK, Danke.
Ich werde mir mich der Sache heute Abend mal annehmen.
Ich finde etwas merkwürdig, dass davon nichts in der Installationsanweisung des page_restrictor_log steht.
Ohne die oben erwähnten Änderungen macht doch das ganze Ding wenig Sinn, oder?
VG Marc
Hallo, habe es versucht wie beschrieben, es funzt net bei mir :red:
kann einer mal die files anhängen *liebfrag*
Moin :)
nur so als Gedanke:
define('PRES_LOG_FILE', ''. $_SERVER['DOCUMENT_ROOT'] . '/restrictor/log/'.date("Ymd").'.log');
Das funktioniert nur, solange sich pragmaMx nicht in einem Unterordner von DOCUMENT_ROOT befindet.
Besser ist das:
define('PRES_LOG_FILE', dirname(__FILE__) . '/restrictor/log/'.date("Ymd").'.log');
Noch besser ist es, ein paar tage zu warten.
Ich arbeite gerade an einer flexiblen Lösung, wo man später zur Konfiguration des neuen Pres, nicht mehr an der mainfile rumbasteln muss...
Moin in die Runde, moin Andi.
Das hört sich gut an, dann warten wir doch lieber mal.
THX
Gruss
bei mir funzt es gar nicht :(((