dokumentiert bisherige Aenderungen im neuen PRES v0.10a (b3):

Konfigurations Konstanten:
can be defined, but don't need to, if undefined it will replaced when and only when needed

ggf. noch: PRES_SECURITY: default "P" z.B. "P" = eingaben werden geprueft bevor ins log geschrieben wird... "C" = check kann nicht aufgerufen werden, "A" Autoupdater abgeschaltet

PRES_MAIN_FILE (main file, if undefined: ./page.restrictor.php)
PRES_LOG_FILE (log file, if undefined: ./page.restrictor.log, if not exists or unwriteable: nothing happens)
PRES_INC_FILE (inc file, if undefined: none)
PRES_WHITELIST (mixed ip ua ref substrings, e.g. '127.0.0.1 opera ottosuch.info');
PRES_CAPTCHA (which captcha to use, if undefined: 1) 0=captcha OFF, script dies when user is restricted! 1=calc captcha, string=captcha will be inserted with require_once(string) <- own captcha
PRES_CAPTCHA_HTTP (http result code, if undefined: 403) use only http codes, e.g. 500!
PRES_CAPTCHA_MSG (restrict message, if undefined: standard text)

WhiteList
enthaelt gemixed Merkmale von IP, UA, REF die zutreffen koennen. Vorteil: supereinfache Config. Nachteil: moechte man eigentlich nur die ip 129.69.212.1 durchlassen, so werden nun auch Referer / UA durchgelassen die diesen teilstring enthalten. aber wie oft kommt das vor?

Sperrmerkmale nun in Arrays:
they come via update and can be adapted in an own .inc file ONLY after that

$presForbiddenReferers = array('casino','examplereferer1','examplereferer2');
$presForbiddenUAs = array('examplebot1','examplebot2');
$presForbiddenIPRanges = array('126.255.255.255/127.0.0.255');
$presForbiddenIPs = array('127.0.0.10','0.0.0.40','0.0.0.42');

if (defined('PRES_INC_FILE')) require_once(PRES_INC_FILE);

bmeier schlaegt hierzu z.b. die def. von whitelist_arrays und dann ein array_diff vor..

Wartbarkeit vs. Performance vs. Speicherhunger
Diskussion hierzu unter .. vergessen, noch nachtragen

Privates Richtig geloest Captcha Log
Diskussion hierzu unter .. vergessen, noch nachtragen

Eigenes Captcha?
Vorweg: ein <img href="img.php" alt="Captcha-Image" /> als captcha string reicht nicht! Das waere nur die halbe miete, denn wer ueberprueft ob dieses bild captcha richtig geloest wurde? der pres kann es ja nicht, da es eine eigenentwicklung ist.
Vielmehr muss es sich beim String um ein Script handeln, was die Aufgabe stellt, erforderliche Mittel hierzu anzeigt (z.b. ein img.php), und die Loesung ueberprueft. Ist die Loesung korrekt, wird die Steuerung "zurueckgegeben."

Grober Programmfluss mit require_once('extern_captcha.php'):
damit koennte man ja ganz easy was einbinden was die loesung ueberprueft UND ein img bild dazu anzeigt..:
im 1. anlauf zeigt es das bild und macht einen die(); das script endet hier
in jedem weiteren anlauf prueft es ob die loesung stimmt... wenn ja geht das script einfach weiter im text... heisst also:

katzen.php (eingangsseite)
..require_once(PRES)
....if sperrmeldung UND pres_captcha = string, z. b. 'extern_captcha.php' DANN require_once('extern_captcha.php');
......extern_captcha:
........1. zeige bild und die
........2. if loesung falsch die() mit meldung FALSCH
........3. if loesung richtig, verlasse diesen ganzen stapel... gewissermassen script-ende von pres und extern_captcha!
katzen.php (ausgangsseite, zurueck..)

ausfuehrlicher:
Nicht das Captcha Image, sondern ein "vollstaendiges (!) Captcha Script _MIT_ einem Captcha Image mit einer loesungsueberpruefung" wird per require_once eingebunden. Denn das Captcha Script muss ja z.b. auch eine komplexere Loesung ("welches Tier ist das?" + "zu welcher gattung gehoert es?" + "ist die dargestellte farbe? blau gruen..." = waere ein captcha mit gleich 3 fragen )) auswerten koennen. das einbinden NUR eines images genuegt nicht, denn das stellt ja NUR das bild dar, aber wer ueberprueft die richtige loesung bzw. soll das ueberpruefen koennen.. natuerlich koennte man die richtige loesung vorab in die PRES session schreiben... und der PRES vergleicht die loesung... aber koennen wir dann beliebig SCHRAEGE captchas einbinden, oder behindern / verhindern wir das nicht damit?

Natuerlich koennte das Script dann in die Session schreiben fuer den PRES.. hier stellt sich die Frage ob das eine "saubere Softwareentwicklung" ist, oder ob man nicht gleich die GANZE KONTROLLE (ich empfinde das schreiben in die pres session IRGENDWIE vom gefuehl her als "software pfusch" ) an das externe captcha script abgibt. dieses macht immer einen die() bis die loesung richtig ist. ist die loesung richtig, passiert ruecksprungtechnisch folgendes:

ausgangslage ist:

katzen.php (z.b. zeile 13)
..require_once(PRES) (zeile 14)
....sperrmeldung
......require_once(extern_captcha) <- hier befinden wir uns jetzt, es wird immer ein die() gemacht bis die loesung richtig ist

ruecksprung nach richtiger loesung:

......require_once(extern_captcha): SCRIPT IST ZU ENDE
....sperrmeldung: SCRIPT IST ZU ENDE
..require_once(PRES): : SCRIPT IST ZU ENDE
katzen.php (zeile 15): hier gehts nun weiter


Programmfluss
was laueft wie und warum so ab.. hier her


Sperrmeldung
lange Diskussion hierzu hier:


Re: Neutraleres Design fuer Sperrmeldung
« Antwort #70 am: Heute um 12:13:02 » Zitat Ändern Löschen Thema teilen

habe das sorry nach oben gezogen (fuer klaus), da englisch die weltsprache ist und nicht deutsch, ist es weiterhin die 1. sprache, deutsch erst die 2. sprache. das more info about project kann man ggf. in den footer noch einbauen. kritikpunkt: ich glaube nicht dass mein englisch sooo gut ist. rechenaufgabe heisst engl. sicher nicht calculating captcha... hat jemand ne bessere idee?

das BLINKEN, und roter rahmen ist raus. die rote ueberschriftsfarbe nicht mehr so aggro rot. die 2 sprachen sind jetzt nur noch durch zeilenumbruch getrennt, nicht mehr mit /. das ist besser lesbar und man kann trotzdem auf table schnick schnack verzichten

ebenso der zu aggressive rot hintergrund ton, ist nun stark aufgehellt. ganz weiss ist zu "wartungs-seite-maessig". letzte moeglichkeit jetzt noch mitzuwirken :

kommt keine rueckmeldung mehr, seh ich das mal als abgesegnet... also : schneller ;-)

<html><body bgcolor="#ffeeee"><div align="center" style="font-family:Verdana,Helvetica,Arial;font-size:14px;">
<h4 style="color:#dd0000;font-size:16px;">
Sorry for the inconvenience!<br>Entschuldigen Sie bitte diese Unannehmlichkeit!</h4>
You have obviously been restricted.<br>
Sie sind offensichtlich zu Unrecht gesperrt.<br><br>
By solving the calculating captcha you can visit this site temporarily.<br>
Durch Lösung der Rechenaufgabe können Sie die gewünschte Seite temporär besuchen.<br><br>
Please tell us here to remove the lock restriction:<br>
Bitte melden Sie sich hier um die Sperrung aufzuheben:<br><br>
<a href="http://www.bot-trap.de/forum/index.php?board=10.0" target="_blank">Complaint Board<br>Beschwerde Forum</a><br><br>
<hr size="1" noshade>
<div align="right"><i>protected by <a href="http://www.airport1.de/" target="_blank">Airport1</a> PageRestrictor, <a href="http://www.bot-trap.de/">Bot-Trap.de</a></i></div>
</body></html>

Die Ausgabe sieht dann so aus:


Sorry for the inconvenience!
Entschuldigen Sie bitte diese Unannehmlichkeit!

You have obviously been restricted.
Sie sind offensichtlich zu Unrecht gesperrt.

By solving the calculating captcha you can visit this site temporarily.
Durch Lösung der Rechenaufgabe können Sie die gewünschte Seite temporär besuchen.

Please tell us here to remove the lock restriction:
Bitte melden Sie sich hier um die Sperrung aufzuheben:

Complaint Board
Beschwerde Forum

« Letzte Änderung: Heute um 12:30:21 von Airport1 » Moderator informieren 84.164.213.75 (?)

Wer Danke sagen moechte: Amazon Wunschzettel
Kein Support via PN, eMail, Telefon. Fragen im Forum stellen, so helfen die Antworten allen!


Airport1
Administrator
Hero Member

Online

Beiträge: 2058




Re: Neutraleres Design fuer Sperrmeldung
« Antwort #71 am: Heute um 12:31:31 » Zitat Ändern Löschen Thema teilen

wie gesagt, grammatikalisch und semantisch sind da noch einige Fehler drin?! mal kommentiert:

korrekt.
Sorry for the inconvenience!
Entschuldigen Sie bitte diese Unannehmlichkeit!

nicht ganz korrekt! wo ist das zu Unrecht im engl.?? been restricted WRONGLY??
You have obviously been restricted.
Sie sind offensichtlich zu Unrecht gesperrt.

nicht ganz korrekt! Rechenaufgabe auf engl.? (web)site versus Seite??
By solving the calculating captcha you can visit this site temporarily.
Durch Lösung der Rechenaufgabe können Sie die gewünschte Seite temporär besuchen.

korrekt.
Please tell us here to remove the lock restriction:
Bitte melden Sie sich hier um die Sperrung aufzuheben:

korrekt.
Complaint Board
Beschwerde Forum

« Letzte Änderung: Heute um 12:35:03 von Airport1 » Moderator informieren 84.164.213.75 (?)

Wer Danke sagen moechte: Amazon Wunschzettel
Kein Support via PN, eMail, Telefon. Fragen im Forum stellen, so helfen die Antworten allen!


Airport1
Administrator
Hero Member

Online

Beiträge: 2058




Re: Neutraleres Design fuer Sperrmeldung
« Antwort #72 am: Heute um 12:36:30 » Zitat Ändern Löschen Thema teilen

moegliche loesung:

You have obviously been restricted wrongly.<br>
Sie sind offensichtlich zu Unrecht gesperrt.<br><br>

By solving the arithmetic problem you can visit this website temporarily.<br>
Durch Lösung der Rechenaufgabe können Sie diese WebSite temporär besuchen.<br><br>

Moderator informieren 84.164.213.75 (?)

Wer Danke sagen moechte: Amazon Wunschzettel
Kein Support via PN, eMail, Telefon. Fragen im Forum stellen, so helfen die Antworten allen!


Airport1
Administrator
Hero Member

Online

Beiträge: 2058




Re: Neutraleres Design fuer Sperrmeldung
« Antwort #73 am: Heute um 12:42:07 » Zitat Ändern Löschen Thema teilen

damit auch unsere "alles muss valide sein uebertreiber" zufrieden sind (wie gesagt ich finds zwar uebertrieben, aber sei es drum), jetzt auch noch mit doctype und laut tidy ohne syntax fehler

<!DOCTYPE HTML PUBLIC "-W3CDTD HTML 4.01 TransitionalEN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><title>Page Restrictor</title></head>
<body bgcolor="#ffeeee"><div align="center" style="font-family:Verdana,Helvetica,Arial;font-size:14px;">
<h4 style="color:#dd0000;font-size:16px;">Sorry for the inconvenience!<br>Entschuldigen Sie bitte diese Unannehmlichkeit!</h4>
You have obviously been restricted wrongly.<br>
Sie sind offensichtlich zu Unrecht gesperrt.<br><br>
By solving the arithmetic problem you can visit this website temporarily:<br>
Durch Lösung der Rechenaufgabe können Sie diese WebSite temporär besuchen:<br><br>
{PRES_CAPTCHA}<br><br>
Please tell us here to remove the lock restriction:<br>
Bitte melden Sie sich hier um die Sperrung aufzuheben:<br><br>
<a href="http://www.bot-trap.de/forum/index.php?board=10.0" target="_blank">Complaint Board<br>Beschwerde Forum</a><br><br>
<hr size="1" noshade><div align="right"><i>protected by <a href="http://www.airport1.de/" target="_blank">Airport1</a> PageRestrictor, <a href="http://www.bot-trap.de/">Bot-Trap.de</a></i></div></div>
</body></html>

{PRES_CAPTCHA} ist ein platzhalter, soll wie smarty syntax aussehen, und wird spaeter durch das captcha replaced.. so spart man sich den quatsch mit 3 strings: seitenanfang, captcha, seitenende..
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki