|
Anandos Template-Parser - technische Dokumentation - A - Initialisierungsdateien
Anhang A - Initialisierungsdateien
ATP.conf.php
Die Initialisierungsdatei atp.conf.php befindet sich im gleichen Verzeichnis wie die index.php.
In ihr werden die Parser-Grundeinstellungen festgelegt:
Variablenname |
Beschreibung |
Beispiel |
Standard-Wert |
als Parameter übergebbar |
sATP_AppDir |
Verzeichnis, in dem die Anwendungsdateien abgelegt sind; darf nicht leer sein; '.' ist erlaubt
ein optional angegebener Argv-Parameter 'sAppDir' überschreibt diesen Wert zur Laufzeit |
opac-test |
application |
X |
sATP_AppName |
Name des Funktionspakets (für Anzeigen o. Ausschriften) |
OPAC |
Anwendung |
X |
sATP_TplDir |
Verzeichnis, in dem sich die Template-Dateien befinden
ein optional angegebener Argv-Parameter 'sTDir' überschreibt diesen Wert zur Laufzeit |
tpl |
template |
X |
sATP_TplFile |
Name der zu starteneden Template-Datei
ein optional angegebener Argv-Parameter 'sATP_TplFile' überschreibt diesen Wert zur Laufzeit |
index2.html |
index.html |
X |
nATP_LogLevel |
wenn >0 gesetzt, wird eine Log-Datei geschrieben
Jede Zeile wird mit einem Zeitstempel, der Quelladresse und der Session-ID eingeleitet.
0 - kein Logging
1 - nur Fehler
2 - Quelle, Liste der Parameter, Laufzeit:
- init
- ReadTemplate
- Marker
- Pattern
- Transform
- Lokalisierung
- Summe
3 - zusätzliche Funktionsinterne Inhalte
4 - zusätzliche Header-informationen (uac, Land)
5 - alle GET/POST-Parameter
99 - Trace-Level - alle Funktionsaufrufe
|
3 |
0 |
|
sATP_LogFile |
absoluter Pfad und Name der Logdatei |
c:\log |
/var/log/atp-test.log |
|
sATP_TplValid |
Zeichenkette zur Gültigkeitsüberprüfung der Templates
wenn gesetzt, wird Template nur dann verarbeitet, wenn
Validitäts-Tag mit diesem Inhalt vorkommt:
Beispiel: ... @ ATP VAR=(zeichenkette) @ |
123456 |
(leer) |
|
sATP_UasFile |
wenn gesetzt, wird der Browserstring ausgewertet |
atp_uas.txt |
(leer) |
|
sATP_UasLogFile |
und in dieser Datei die unbekannten Browserstrings protokolliert |
/var/log/atp_unidentified_uac.log |
(leer) |
|
MARK_BEG_Strt |
Konstante; Beginn des öffnenden Marker-Tags |
"<!-- " |
"<atp " |
|
MARK_BEG_End |
Konstante: Ende des öffnenden Marker-Tags |
"-->" |
">" |
|
LEN_MARK_BEnd |
Konstante : Länge der Zeichenkette Ende des öffnenden Marker-Tags |
3 |
1 |
|
MARK_END |
Konstante: schließendes Marker-Tag |
"<!--/atp-->" |
</atp> |
|
LEN_MARK_END |
Konstante: Länge der Zeichenkette Ende des schließenden Marker-Tags |
11 |
6 |
|
Inhalt der Datei (Beispiel):
|
Kommentare (mit ; eingeleitet) |
sATP_AppDir = opac |
Verzeichnis unterhalb der index.php, in dem die Anwendungs-Scripte stehen |
sATP_AppName = AndoLib-OPAC |
Name der Anwendung; informativ; kann im Anwendungs-Template verwendet werden |
sATP_TplDir = tpl |
Verzeichnis unterhalb der index.php, in dem sich die Teplate-Dateien befinden |
sATP_TplFile = index.html |
Name der Start-Template-Datei (index.html ist default) |
; DEBUG = 1 -> ATP-Tags bleiben im Ausgabequelltext stehen
DEBUG = 0 |
Kommentar; ATP-Tags werden in Großschreibung gewandelt und bleiben zu Diagnosezwecken im Ausgabetext stehen. In Produktivumgebungen sollte immer DEBUG=0 gesetzt sein. |
ATP-Tags werden vollständig aus produziertem Quelltext entfernt |
; wenn gesetzt, wird Template nur dann verarbeitet, wenn
; Validitäts-Tag mit diesem Inhalt vorkommt:
; Beispiel: ... @ ATP VAR=123456 @
sValid = 123456
|
Templates, die diese ATP-Pattern nicht enthhalten, werden nicht verarbeitet; dient vorrangig der Abwehr von Path-Traversal- und remote-include-Attacken |
; Name der Device-Liste
UasFile=atp_uas.txt |
Ist diese Liste angegeben, werden globale Variablen mit Informationen zum erkannten System gesetzt:
- $_ATP_PLA
- sma - Smartphone
- tab - Tablet
- pc - PC
- bot - WebBot, Spider, Suchmaschine
- $_ATP_RES - Auflösung in Pixeln, z.B. 1024x768
- $_ATP_SYS - System-Kennung
- win
- winxp
- win7
- win8
- android
- ...
- $_ATP_DIA - Schirmdiagonale in Zoll auf ganze Werte gerundet
- $_ATP_BRO - Browserkennung
- msie9
- msie10
- firefox
- seamonkey
- ...
- $_ATP_LNG - Sprachkennung aus Browserstring
Diese globalen Variablen lassen sich in der Anwendung beliebig auswerten, z.B. zur Auswahl separater Templates für verschiedene Geräte.
Ausgewertet wird der UA-String ($_SERVER['HTTP_USER_AGENT']).
Je Zeile wird eine Geräteart definiert, für eine Geräteart können mehrere Zeilen verwendet werden.
Es wird das Gerät gesetzt, für das der erste RegEx-Ausdruck zutrifft
default: PC (wenn kein RegEx-Ausdruck zutrifft)
Der Inhalt der Device-Liste hat folgenden Aufbau:
- # leitet Kommentarzeilen ein
- leere Zeilen werden ignoriert
- jede Zeile enthält mindestens zwei durch TAB-Zeichen (09hex) getrennte Bereiche:
- einen RegEx-Ausdruck der Form /blabla/ (wird an führendem '/' erkannt
- eine Liste von mit ',' getrennten Paaren von Variablennamen und Werten, die ihrerseits durch ':' getrennt sind
- optional kann noch ein mit '#' eingeleiteter Kommentar folgen, der vom Rest der Zeile auch mit TAB getrennt werden muß
Funktion:
- die Zeilen mit den Suchausdrücken werden nacheinander abgearbeitet
- treffen mehrere Suchausdrücke zu, überschreiben Werte, die diesem zugeordnet sind, eventuell schon aus voranstehenden Zeilen entstandene Werte
- aus 2. ergibt sich, dass zuerst die allgemeinsten und am Ende die speziellsten Suchausdrücke stehen sollten
- Zeilen mit fehlerhaften Regex-Ausdrücken werden ignoriert
Beispiele:
/Tablet/ pla:tab
/Mobile/ pla:sma
/Windows NT/ pla:pc,sys:win
/ME301T/ pla:tab
/de-de/ lng:de
/en-en/ lng:en
/Googlebot/ pla:bot
/Mozilla\/5.0; TOB/ bro:t-online
/N905i/ pla:sma,res:320x240
/LG-P990/ pla:sma,res:800x480
/LIFETAB_E1031\d/ pla:tab,res:1280x800 # Medion Lifetab E3031x
/LIFETAB_E7316/ pla:tab,dia:7,res:1024x600 # Medion Lifetab E7316
|
UasLogfile = /var/log/atp_unidentified_uac.log |
In dieser Datei werdendie unbekannten Browserstrings protokolliert, d.h., alle Browserstrings, die keinen bekannten Textteil enthalten |
Artikel zuletzt bearbeitet am: 25.03.2019 21:32
| |