pragmaMx Support Forum

pragmaMx => Zusatzmodule => Thema gestartet von: gerdc am 05 Juli 2008, 15:47:38

Titel: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: gerdc am 05 Juli 2008, 15:47:38
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
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: _icke_ am 06 Juli 2008, 22:50:57
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
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: gerdc am 06 Juli 2008, 23:48:25
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
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: _icke_ am 07 Juli 2008, 12:29:03
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
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: GerhardSt am 07 Juli 2008, 12:45:54
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
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: eazychecker am 07 Juli 2008, 17:29:29
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??
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: GerhardSt am 07 Juli 2008, 19:13:53
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
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: gerdc am 07 Juli 2008, 22:32:21
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
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: _icke_ am 08 Juli 2008, 09:24:13
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
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: eazychecker am 08 Juli 2008, 22:03:41
Hallo, habe es versucht wie beschrieben, es funzt net bei mir :red:
kann einer mal die files anhängen *liebfrag*
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: Andi am 08 Juli 2008, 23:13:38
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...
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: wob am 09 Juli 2008, 05:47:17
Moin in die Runde, moin Andi.

Das hört sich gut an, dann warten wir doch lieber mal.

THX


Gruss
Titel: Re: Aus gegebenen Anlaß: pagerestrictor_log_0.3c fuer pragmaMx
Beitrag von: eazychecker am 09 Juli 2008, 18:28:39
bei mir funzt es gar nicht :(((