praegune kellaaeg 20.06.2025 00:28:45
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
jnt
HV Guru

liitunud: 10.05.2005
|
29.03.2009 14:17:42
Sessiooni kestvus, ei kipu toimima. |
|
|
Teeme siis kiiresti. Kood on selline:
<?php
ini_set('session.gc_maxlifetime', 30758400);
if($_COOKIE['remember']=='1' || $_POST['remember']=='1'){
setcookie('remember', '1', time()+30758400);
session_set_cookie_params(30758400);
}else{
session_set_cookie_params(3600);
}
session_start();
?> |
Ja probleem on selles, et sessiooni kestus ei muutu ~aastaks, kui remember'iks on üks. Samas küpsis "remember" luuakse kenasti ära. Sessioon seisab pidevalt ühe tunni peal, olenemata, kas remember on pandud 1'ks või mitte. Milles asi? Tuulasin netis ka natuke ja pmst seal selline asi toimis. Teine võimalus oli ka, mis leidsin, et salvestada küpsistesse kasutaja ja parool, kui remember on 1, kuid see on veidi ebaturvaline siiski ju? Seega, kus ma olen hetkel puusse pannud?
_________________ Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 110 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
102 |
|
tagasi üles |
|
 |
inzinz
HV kasutaja
liitunud: 26.01.2005
|
29.03.2009 15:00:25
|
|
|
Proovi midagi sellist
<?php
$sessyear = 30758400;
$sesslen = $sessyear;
ini_set('session.gc_maxlifetime', $sessyear);
error_reporting(E_ALL & ~E_NOTICE);
if($_COOKIE['remember']=='1' || $_GET['remember']=='1'){
setcookie('remember', '1', time()+$sesslen);
}else{
$sesslen = 3600;
}
session_set_cookie_params($sesslen);
session_start();
setcookie(session_name(), session_id(), time()+$sesslen);
?> |
Oluliseks osaks on just setcookie väljakutsumine, nimelt PHPSESSID küpsise olemasolu puhul ei kipu php seda uuesti browserisse saatma ja seega ka ei uuene sessiooni lõppemise aeg. Kui setcookie niimoodi ära teed siis peaks töötama ilusti.
_________________ Upload.ee - eestimaine failiupload |
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
jnt
HV Guru

liitunud: 10.05.2005
|
29.03.2009 22:22:39
|
|
|
inzinz, selge, ühesõnaga vaja käsitsi sessioni küpsis üle kirjutada? Arusaadav. Tänud!
EDIT: Kahjuks omamoodi kurvad uudised. Nimelt lood sellised, et sessioni küpsis on küll kenasti olemas ja värki, kuid serverist kaob sessiooni info kahjuks ikka ära. Oskab keegi nõu anda? On keegi sessionidel login'i progenud koos meelde jätmise funktsiooniga? Kuidas lahendasid? Igastahes jah, ei kipu asi toimima praegu.
_________________ Progemisest: https://byteaether.github.io/
Seisab keldris vana 386-486-Pentium1? Räägime! Ehk saan vanakesele uue elu anda.
Vaata siia, äkki müün midagi põnevat -> https://www.osta.ee/index.php?fuseaction=listing.seller&q[seller]=jnt |
|
Kommentaarid: 110 loe/lisa |
Kasutajad arvavad: |
   |
:: |
2 :: |
0 :: |
102 |
|
tagasi üles |
|
 |
inzinz
HV kasutaja
liitunud: 26.01.2005
|
29.03.2009 23:17:09
|
|
|
Proovi ini_get funciga kas sul sessiooni see maxlifetime on sama.
Ja lisaks ütleks veel niipalju, et kui sa teed eri failides session_start eri loogikaga, siis lähebki metsa.
Näiteks ühes kohas määrad ära maxlifetime, teises kohas mitte. Kui sessioon lõppeb siis jooksutatakse garbage collecti liiga väikese väärtusega ja kustuvad ära kõik liiga vanad failid ja ongi sinu sessiooni info kadunud.
Lisavõimalus on see, et miski asi serveris puhastab php'st eraldiseisvalt /tmp kausta, proovi näiteks teha endale eraldi sessioonide kaust 777 õigustega ja panna session_save_path('/minu/sess/kaust/'); Siis on kindel et keegi sealt kaustast faile ei näpi peale php koodi.
_________________ Upload.ee - eestimaine failiupload |
|
Kommentaarid: 4 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
4 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|