Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 25. Oktober 2021 19:04

parsec
kennt CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 200

In Frontend Users nur mit Ok-Button/Checkbox einloggen lassen

Hallöle,

und nochmal FEU! Ich wollte mit Feu einen Unter-Seiten-Zugriff generieren, bei dem man bei Seitenaufruf erst mal einen Text mit einen OK-Button (oder Checkbox) vor der Nase hat (Eventuell dafür eine extra Zwischenseite) erst nach Klick auf den OK-Button zur geschützten Seite geleitet wird. Also ohne Passwort und E-Mail nur mit Bestätigungs-Klick. Weis jemand eine Lösung, hab mit Frontend Users nicht soooo viel Erfahrung. Bin für jede Hilfe dankbar!


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#2 25. Oktober 2021 21:11

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.401

Re: In Frontend Users nur mit Ok-Button/Checkbox einloggen lassen

Wenn es ohne Name/Passwort ist, dann brauchst Du doch kein FEU.
Oder verstehe ich das Szenario falsch?


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12.2 unter PHP 7:
cmsms-1.12.2-php7.2-diff.tar.gz (nur die geänderten Dateien)
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)

Offline

#3 26. Oktober 2021 12:28

parsec
kennt CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 200

Re: In Frontend Users nur mit Ok-Button/Checkbox einloggen lassen

Hallo,

berechtigter Einwand, das dachte ich vorher auch! Aber nein, das geht nicht ohne FEU oder ähnliches, weil ich könnte ja dann auf die Seite über die URL reintippen kommen ohne das ok zu geben. Ich will ein OK erzwingen! Also nur auf die gesicherte Seite kommen über den OK-Button oder OK-Haken, also dann darüber eingeloggt. Oder gibt es noch eine Möglichkeit die ich nicht kenne oder nicht bedacht habe?

Gruß

Beitrag geändert von parsec (26. Oktober 2021 12:36)


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#4 26. Oktober 2021 16:28

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.401

Re: In Frontend Users nur mit Ok-Button/Checkbox einloggen lassen

Aber wie soll die Authentifizierung funktionieren?
Wie genau soll der Button einen Login durchführen?
Das ginge nur, wenn bei Klick auf den Button ein vordefiniertes Standard-User-Konto verwendet wird. Jeder, der auf den Button klickt, wird mit diesem Account eingeloggt. D.h. man muss sich mit ein und demselben User-Account mehrfach anmelden dürfen.

Klingt so als würdest Du FEU lediglich dazu nutzen wollen, um ein Cookie zu setzen, um sicherzustellen, dass der User auf den Button geklickt hat. Sicher, dass Du dazu FEU brauchst? Würde das nicht auch via Javascript oder Plugin/UDT (oder vielleicht sogar reines Smarty) funktionieren?

Beispiel:

Da ist eine Seite, die ist öffentlich. Dort ist ein Button. Bei Klick auf diesen Button wird exakt dieselbe Seite erneut geladen, jedoch werden entweder an die URL ein Parameter angehängt (der kommt vom Button - ist also ein Link, der nur aussieht wie ein Button) oder hidden fields in einem formular werden via POST gesendet.

Im Template kannst Du dann POST bzw. GET Parameter abfragen, ein Cookie setzen, und auf die andere Seite umleiten. Dort wir dann geprüft, ob das Cookie gesetzt wurde. Wenn nicht, zurück zur vorherigen Seite. Falls das im Template doch nicht so einfach ist, dann würde ich es mit einem Plugin versuchen.

Aber dafür eine komplette Userverwaltung zu misbrauchen, klingt nach Kanonen und Spatzen und so.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12.2 unter PHP 7:
cmsms-1.12.2-php7.2-diff.tar.gz (nur die geänderten Dateien)
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)

Offline

#5 26. Oktober 2021 21:04

parsec
kennt CMS/ms
Registriert: 04. Oktober 2012
Beiträge: 200

Re: In Frontend Users nur mit Ok-Button/Checkbox einloggen lassen

Da magst du recht haben, wie gesagt, ich wär für jede Lösung dankbar. Es ist halt so, ich hab meine Seiten stets so gemacht, das nur Session-Cookies da waren. Diese dämlichen OK-Abfrage auf der Startseite will ich auf keinen Fall. Nun ist es aber immer wieder mal vorgekommen, das Kunden auf Unterseiten doch Dinge gewünscht haben die diese Zustimmung doch benötigen. Die meisten dieser Bannerlösungen sind nicht mehr kostenfrei, deshalb dacht ich mir selber was aus und dabei fiel mir das mit den geschützten Seiten ein. Hast du da was einfacheres dafür? Hab da wirklich nur wenig Plan!

Beitrag geändert von parsec (26. Oktober 2021 21:07)


"Es ist unmöglich, alles zu wissen" - Horaz

Offline

#6 27. Oktober 2021 13:53

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.401

Re: In Frontend Users nur mit Ok-Button/Checkbox einloggen lassen

Also wenn ich Dich richtig verstanden habe, ist alles was Du auf den fraglichen Seiten brauchst folgendes...

Template:

{if isset($smarty.session.accept_fabulous_policy)}
	{content}
{else}
	{if isset($smarty.get.accept_fabulous_policy)}
		{set_session accept_fabulous_policy=1}
		{redirect_url to=$content_obj->GetURL()}
	{else}
		<a href="{$content_obj->GetURL()}?accept_fabulous_policy">Accept!</a>
	{/if}
{/if}

Plugin set_session (unter /assets/plugins/function.set_session.php speichern):

<?php

function smarty_function_set_session($params, &$template)
{
	foreach($params as $k => $v) {
		$_SESSION[$k] = $v;
		if($v===null)
			unset($_SESSION[$k]);
	}
}

Das ist mit Sicherheit ausbaufähig, aber das Prinzip sollte klar werden, oder?
Der Inhalt der Seite wird nur dann angezeigt wenn man vorher auf "Accept" geklickt hat.
Also einfach alle Seiten, die diese Zustimmung benötigen, ein gesondertes Template zuweisen.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12.2 unter PHP 7:
cmsms-1.12.2-php7.2-diff.tar.gz (nur die geänderten Dateien)
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)

Offline