Wartungsmodus mit exclusiven Zugriff: Unterschied zwischen den Versionen

Aus Contao Community Documentation

K
(PHP Code vor jede Ausgabe verschoben, weil ein Cookie Header sendet. Andere Kleinigkeiten.)
Zeile 8: Zeile 8:
 
Befindet sich eine Seite online im Aufbau und ein Kunde soll sich Anpassungen anschauen können, jedoch normale Besucher und Suchmaschinen nicht, ist es durch diese kleinen Anpassungen möglich, dies zu verwirklichen.
 
Befindet sich eine Seite online im Aufbau und ein Kunde soll sich Anpassungen anschauen können, jedoch normale Besucher und Suchmaschinen nicht, ist es durch diese kleinen Anpassungen möglich, dies zu verwirklichen.
  
Aufbau eine geheimen Landingpage, die ein Cookie im Browser setzt. Diese kann zusätzlich noch via htaccess-Passwort geschützt werden.
+
Aufbau einer geheimen Landingpage, die ein Cookie im Browser setzt. Diese kann zusätzlich noch via htaccess-Passwort geschützt werden.
  
 
<source lang="php">
 
<source lang="php">
 +
<?php setcookie('gesicherteSeite', 'halloWelt'); ?>
 
<html>
 
<html>
<?php setcookie("gesicherteSeite","halloWelt"); ?>
 
  
 +
Ihr <a href="http://example.com">Zugang zu example.com</a> wurde gewaehrt!
 +
Sobald Sie Ihren Browser schliessen, sind Sie wieder abgemeldet.
  
Ihr Zugang wurde gewaehrt!
 
 
</html>
 
</html>
 
</source>
 
</source>
  
Man kann dem Kunden nun diesen Link mitteilen. Wird diese Seite nun aufgerufen, wird ein Cookie im Browser gesetzt.
+
Man kann dem Kunden nun diesen Link mitteilen. Wird diese Seite dann aufgerufen, wird ein Cookie im Browser gesetzt.
  
Nun nur noch in der fe_page.tpl eine kleine Anpassung in der ersten Zeile:
+
Jetzt nur noch in der fe_page.tpl eine kleine Anpassung in der ersten Zeile:
  
 
<source lang="php">
 
<source lang="php">
<?php if ($_COOKIE["gesicherteSeite"]!="halloWelt") $this->redirect("http://www.contao.org"); ?>
+
<?php if ($_COOKIE["gesicherteSeite"] != "halloWelt") $this->redirect("http://www.contao.org"); ?>
 
</source>
 
</source>
  
Somit wird beim Aufruf der eigentlichen Webseite kontrolliert, ob das Cookie gesetzt ist. Wenn ja, geht alles normal weiter und der Kunde kann die normale Webseite sehen. Ist das Cookie nicht vorhanden, wird direkt auf eine andere Seite umgeleitet, in diesem Falle auf contao.org
+
Somit wird beim Aufruf der eigentlichen Webseite (des Frontends) kontrolliert, ob das Cookie gesetzt ist. Wenn ja, geht alles normal weiter und der Kunde kann die normale Webseite sehen. Ist das Cookie nicht vorhanden, wird direkt auf eine andere Seite umgeleitet, in diesem Falle auf contao.org. Das Backend ist unbetroffen ... bis man die Frontend-Vorschau aufruft, dann muß ebenfalls das Cookie gesetzt sein.
  
{{msgInfo|Das Cookie kann auch noch eine Verfallszeit und die Domain enthalten. Dies ist hier nicht aufgeführt. Nachzulesen hier : http://php.net/manual/de/function.setcookie.php}}
+
{{msgInfo|Das Cookie sollte auch noch die Domain enthalten (damit das Cookie garantiert nur an die zu schützende Domain example.com geliefert wird) und es könnte auch eine Verfallszeit haben. Dies ist hier nicht gezeigt. Nachzulesen hier : http://php.net/manual/de/function.setcookie.php}}

Version vom 31. Mai 2011, 01:59 Uhr

betrifft
TYPOlight Version ab 2.7
Contao Version ab 2.9

Diese Anleitung beschreibt, wie man einen Wartungsmodus erstellt und trotzdem Kunden und sich selbst Zugang zur Seite bietet.

Befindet sich eine Seite online im Aufbau und ein Kunde soll sich Anpassungen anschauen können, jedoch normale Besucher und Suchmaschinen nicht, ist es durch diese kleinen Anpassungen möglich, dies zu verwirklichen.

Aufbau einer geheimen Landingpage, die ein Cookie im Browser setzt. Diese kann zusätzlich noch via htaccess-Passwort geschützt werden.

<?php setcookie('gesicherteSeite', 'halloWelt'); ?>
<html>
 
Ihr <a href="http://example.com">Zugang zu example.com</a> wurde gewaehrt!
Sobald Sie Ihren Browser schliessen, sind Sie wieder abgemeldet.
 
</html>

Man kann dem Kunden nun diesen Link mitteilen. Wird diese Seite dann aufgerufen, wird ein Cookie im Browser gesetzt.

Jetzt nur noch in der fe_page.tpl eine kleine Anpassung in der ersten Zeile:

<?php if ($_COOKIE["gesicherteSeite"] != "halloWelt") $this->redirect("http://www.contao.org"); ?>

Somit wird beim Aufruf der eigentlichen Webseite (des Frontends) kontrolliert, ob das Cookie gesetzt ist. Wenn ja, geht alles normal weiter und der Kunde kann die normale Webseite sehen. Ist das Cookie nicht vorhanden, wird direkt auf eine andere Seite umgeleitet, in diesem Falle auf contao.org. Das Backend ist unbetroffen ... bis man die Frontend-Vorschau aufruft, dann muß ebenfalls das Cookie gesetzt sein.


Das Cookie sollte auch noch die Domain enthalten (damit das Cookie garantiert nur an die zu schützende Domain example.com geliefert wird) und es könnte auch eine Verfallszeit haben. Dies ist hier nicht gezeigt. Nachzulesen hier : http://php.net/manual/de/function.setcookie.php

"Information"


Ansichten
Meine Werkzeuge

Contao Community Documentation

Ich brauch nen Bier, es ist zwar noch nicht nach 4, aber es ist nach Oli.

Yanick Witschi
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge