+ Antworten
Ergebnis 1 bis 7 von 7

Thema: Parameter in Session speichern für Gäste ohne Login

  1. #1
    Neu an Board
    Registriert seit
    13.03.2007
    Ort
    Thüringen
    Beiträge
    71
    Bedankte sich
    10
    Erhielt 4 Danksagungen
    in 3 Beiträgen

    Standard Parameter in Session speichern für Gäste ohne Login

    Hallo Zusammen,

    mit der URL wird von externen Webseiten ein Parameter an meine Joomla 1.5.18-Website übergeben. Anhand dieses Parameters soll die Herkunft des Besuchers indentifiziert werden. Solange der Besucher auf der Seite ist (er loggt sich nicht ein) soll der Parameter in einer Session gespeichert bleiben.
    Erste Versuche die Session in der index.php des Templates zu erzeugen funktionieren nicht.

    PHP-Code:
    // Variable $fromsite in der Session zunächst ohne Wert anlegen 
    if(!isset($sessfrom)){   
    $sessfrom JFactory::getSession();
    $sessfrom->set('fromsite''');
    }
    //Falls mit dem externen Link eine ID ankommt, diese auslesen und der Sessionvariablen $fromsite zuweisen 
    if(isset($_GET["fromsite"])){$sessfrom->set('fromsite'$_GET["fromsite"]);} 
    Die Session wird angelegt und der Parameter per $_GET aus der URL in die Session übernommen, verlässt der Besucher aber die Startseite, ist der Parameter weg. Er wurde nicht gespeichert.

    Kann man JSession auch ohne Login nutzen? Wie legt man die Session korrekt an, damit die Besucherdaten gespeichert werden?

    Gruß Gabi

  2. #2
    Moderator Avatar von time4mambo
    Registriert seit
    11.12.2006
    Ort
    76646 Bruchsal
    Alter
    54
    Beiträge
    14.343
    Bedankte sich
    455
    Erhielt 2.970 Danksagungen
    in 2.789 Beiträgen

    Standard

    Kann man alles. Musst du ein Cookie schreiben und das auf der festplatte des users speichern.
    Wie Cookies funktionieren und programmiert werden, findest du auf PHP-Seiten und die über Google.


    Axel
    Schulungen, Webentwicklung: time4mambo
    (Video-)Tutorials: time4joomla

  3. Erhielt Danksagungen von:


  4. #3
    Neu an Board
    Registriert seit
    13.03.2007
    Ort
    Thüringen
    Beiträge
    71
    Bedankte sich
    10
    Erhielt 4 Danksagungen
    in 3 Beiträgen

    Standard Joomla Session in Cookie speichern

    Hallo time4mambo,

    danke für Deinen Tipp. Funktioniert prima. Zumindest bei Usern, die Cookies zulassen, aber das hilft mir weiter.

    In der Index.php meines Templates habe ich diesen Code eingebunden:
    PHP-Code:
    if(isset($_GET['from']) and !isset($_COOKIE['cookiename'])) {setcookie('cookiename'$_GET["from"], time()+3600);} 
    Wenn mit einer URL der Parameter $From übertragen wird, wird das Cookie angelegt und der Wert "From" gespeichert. Der Wert time()+3600 sagt, dass das Cookie ab der aktuellen Zeit nach 3600 Sekunden automatisch gelöscht wird.

    Den Wert im Cookie kann ich dann in meiner Joomla Site wie folgt abrufen und verwerten:

    PHP-Code:

    if(isset($_COOKIE['cookiename'])){echo("<jdoc:include type=\"modules\" name=\"user".$_COOKIE['cookiename']."\" />");}
    else {echo(
    "<jdoc:include type=\"modules\" name=\"user4\" />");} 
    In desem Fall wechsel ich die Modul-Positionen in meinem Template, wo dann je nach Herkunft der Besucher unterschiedliche Module angezeigt werden können. Sollte kein Cookie vorhanden sein, wird die Standartposition "user4" eingesetzt.

    Gruß Gabi
    Geändert von gabi_ix (02.09.2010 um 09:48 Uhr)

  5. #4
    Hat hier eine Zweitwohnung Avatar von Alan
    Registriert seit
    01.10.2006
    Ort
    Mülheim an der Ruhr
    Alter
    51
    Beiträge
    1.701
    Bedankte sich
    71
    Erhielt 470 Danksagungen
    in 426 Beiträgen

    Standard

    Dann kann ich aber Deine domain mit jedem from-parameter aufrufen, stimmts?

    deinedomain.de/index.php&from=xxxx

    ist das gewollt?
    Ich reagiere nur auf Fragen, deren Lesbarkeit keine Zumutung darstellt
    JUG-im-Pott (Joomla-User-Group)
    und ebenfalls "no Artisteer support"

  6. #5
    Neu an Board
    Registriert seit
    13.03.2007
    Ort
    Thüringen
    Beiträge
    71
    Bedankte sich
    10
    Erhielt 4 Danksagungen
    in 3 Beiträgen

    Standard

    Zitat Zitat von Alan Beitrag anzeigen
    Dann kann ich aber Deine domain mit jedem from-parameter aufrufen, stimmts?

    deinedomain.de/index.php&from=xxxx

    ist das gewollt?
    Das ist richtig. Meinst Du es wäre ratsam, den Wert "xxx" einer Syntaxprüfung zu unterziehen, damit da nicht irgendwelcher Code ins Cookie geschrieben wird?

    Gruß Gabi

  7. #6
    Hat hier eine Zweitwohnung Avatar von Alan
    Registriert seit
    01.10.2006
    Ort
    Mülheim an der Ruhr
    Alter
    51
    Beiträge
    1.701
    Bedankte sich
    71
    Erhielt 470 Danksagungen
    in 426 Beiträgen

    Standard

    vielleicht statt $_GET
    mit JREQUEST
    arbeiten. Dort finden schon Säuberungsaktionen statt. Mal mit beschäftigen.

    Unabhängig davon kann dann jeder, der die möglichen from-Parameter kennt, beliebige Herkünfte simulieren.
    Ich reagiere nur auf Fragen, deren Lesbarkeit keine Zumutung darstellt
    JUG-im-Pott (Joomla-User-Group)
    und ebenfalls "no Artisteer support"

  8. Erhielt Danksagungen von:


  9. #7
    Neu an Board
    Registriert seit
    13.03.2007
    Ort
    Thüringen
    Beiträge
    71
    Bedankte sich
    10
    Erhielt 4 Danksagungen
    in 3 Beiträgen

    Standard Parameter in Cookie schreiben - Sicherheitslücke beachten

    Zitat Zitat von Alan Beitrag anzeigen
    vielleicht statt $_GET
    mit JREQUEST
    arbeiten. Dort finden schon Säuberungsaktionen statt. Mal mit beschäftigen.

    Unabhängig davon kann dann jeder, der die möglichen from-Parameter kennt, beliebige Herkünfte simulieren.
    Danke Alan, werde mich da mal schlau machen .

    Gruß Gabi

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein