Hallo allen,

Ik loop tegen het volgende probleem aan. Ik heb een website draaien op mijn Synology NAS. Werkt allemaal prima. Deze website wordt gesynchroniseerd met de site op mijn MacBook. Ze zijn dus identiek. Ook de database lokaal en op de NAS zijn identiek.

Het geval wil nu dat als ik inlog op de site op mijn NAS de procedure goed verloopt maar lokaal wil dir niet lukken. Als ik in het inlogscript op de plaats net voordat ik redirect naar de homepage controleer ben ik ook lokaal goed ingelogd. Zodra ik op de homepage aankom is de sessievariabele $_SESSION['user'] weg.

Ik hoop dat ik het duidelijk heb beschreven. Iemand een idee waar ik de oorzaak zou moeten zoeken. Overigens heeft het in het verleden wel goed gewerkt. Kan het een instelling in php.ini zijn?

Bij voorbaat dank
Peter
Ik vind regel 3 maar iets raar hoor
$_SESSION['cart1'][]="<?PHP echo $gebruiker;?>";
Jan R op 16/07/2022 18:27:14

Ik vind regel 3 maar iets raar hoor
$_SESSION['cart1'][]="<?PHP echo $gebruiker;?>";

Dat is het ook. Klopt niet.
Na het inloggen op het moment dat ik terug ga naar index.php


array(28) { ["host"]=> string(9) "localhost" ["user"]=> string(15) "petervankroonen" ["dbf"]=> string(15) "petervankroonen" ["pw"]=> string(11) “XXXXX!” ["cart"]=> array(3) { [0]=> string(12) "Login scherm" [1]=> string(19) "Succescvol ingelogd" [2]=> string(6) "Welkom" } ["cart1"]=> array(0) { } ["apparaat"]=> string(7) "desktop" ["LogonCounter"]=> int(0) ["filename"]=> string(51) "/Volumes/Werkdisk/Sites/home/app_register/login.php" ["bron"]=> string(16) "../php/index.php" ["aantal_records"]=> int(1) ["auth"]=> bool(true) ["timeout"]=> int(1660581666) ["gebruiker"]=> string(0) "" ["password"]=> string(5) “XXXXXX” ["klant_login"]=> string(0) "" ["klant_wachtwoord"]=> string(5) “XXXXXXX” ["klant_id"]=> string(10) "1657263846" ["niveau"]=> string(1) "9" ["niveau_id"]=> string(1) "9" ["klant_niveau"]=> string(1) "9" ["voornaam"]=> string(5) "Peter" ["achternaam"]=> string(15) "van kroonenburg" ["initialen"]=> NULL ["email"]=> string(27) "[email protected]" ["groep_id"]=> string(1) "1" ["groepklant"]=> string(1) "A" ["groepcode"]=> string(1) "A" }

Sessie: 5q8s4q0dvdlnjs2lt94i0b1sf7

[size=xsmall]Toevoeging op 16/07/2022 18:44:58:[/size]

Dus keuring ingelogd maar gegevens weg zodra ik aankom bij index.php
Dan bestaat je sessie gewoon.

Ik snap alleen niet waarom je er inloggegevens in plaatst?
Die 'auth' key die eerder niet bestond, blijkt dus wel te bestaan.

["auth"]=> bool(true)
Ik denk dat alle opties bekeken zijn. Bedankt voor het meedenken. Ik ben nu 2 dagen bezig geweest helaas zonder resultaat. Lijkt me beter om er mee te stoppen en een ander inlogscript te gaan schrijven.
En werkt het wel met een simpel sessie script van een paar regels?
Vraag: sta jij nu ergens binnen?
Zo ja: heb je momenteel je sleutels in je hand?

Nee?
Waarschijnlijk niet, want die had je alleen nodig toen je door de voordeur ging.

Waarom vraag ik dit?
Ik zie in je session-dump:
["gebruiker"]=> string(0) "" ["password"]=> string(5) “XXXXXX” ["klant_login"]=> string(0) "" ["klant_wachtwoord"]=> string(5) “XXXXXXX” [

Dat je opslaat wie ingelogd is, is verklaarbaar.
Maar dat je (plaintext) het gebruikte wachtwoord in de session set niet. De lengte 5 suggereert ook nog eens dat je dat dan ongehasht doet.
Het wachtwoord heb je net als een sleuten nodig bij het binnenkomen. Daarna is kennelijk goedgekeurd dat je er erin mocht en dus is het voldoende om te weten we je bent. (naamkaartje om je nek zoals bij veel bedrijven)

Die session data wordt ergens bewaard op de server.
In een /tmp map of een speciale session-map. Of mogelijk in een database.
Ik denk dat die lokatie te vinden is via phpinfo().

Probleem is soms, dat dit session-bestandje plaintext op de server komt te staan en mogelijk door een derde gelezen kan worden. Daar wil je niet je password in hebben staan dus.

Over die locatie:
Wordt dat bestandje wel aangemaakt? Heeft Apache / PHP daar wel schrijfrechten?
Dank voor je reactie Ivo. Het is een oud script toen ik nog minder php/sql kennis had. Ben bezig met herschrijven en hoop daarmee ook mijn probleem te kunnen oplossen.

[size=xsmall]Toevoeging op 19/07/2022 10:18:09:[/size]




Sessions worden opgeslagen
php
sess_1t6pe6hh0f9egro7okrptuch72
sess_1o3o3u8r086mld2nem5as0kgis
sess_1eqkl7kljuhb2uak5uuscls9ne
sess_0jch5tl40octncmo9i8a2v4u9p


Session Support enabled
Registered save handlers files user
Registered serializer handlers php_serialize php php_binary
Directive Local Value Master Value
session.auto_start Off Off
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_samesite no value no value
session.cookie_secure 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.lazy_write On On
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /Applications/MAMP/tmp/php /Applications/MAMP/tmp/php
session.serialize_handler php php
session.sid_bits_per_character 5 5
session.sid_length 26 26
session.upload_progress.cleanup On On
session.upload_progress.enabled On On
session.upload_progress.freq 1% 1%
session.upload_progress.min_freq 1 1
session.upload_progress.name PHP_SESSION_UPLOAD_PROGRESS PHP_SESSION_UPLOAD_PROGRESS
session.upload_progress.prefix upload_progress_ upload_progress_
session.use_cookies 1 1
session.use_only_cookies 1 1
session.use_strict_mode 0 0
session.use_trans_sid 0 0


[size=xsmall]Toevoeging op 19/07/2022 10:22:05:[/size]

Ik zie ook dat telkens zodra ik een pagina vernieuw een ander session_id krijg.

Reageren