Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  PHP-s abi vaja märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele eelmine  1, 2
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Timukas0
HV kasutaja
Timukas0

liitunud: 20.03.2007




sõnum 17.02.2011 20:46:52 vasta tsitaadiga

keevitaja kirjutas:
möh? sessiooni andmed on ikka serveris. sessiooni id ehk hash on küpsises. juhul kui küpsised on keelatud, siis saab hashi edasi anda ka get või post abil, kuid see ei ole turvakaalutlustel eriti hea mõte!

<?php
session_start();

if($_GET['destroy'] == 'true') {
  session_regenerate_id();
  session_destroy();
  header('Location: '. $_SERVER['PHP_SELF']);
}

$_SESSION['test']++;

echo $_SESSION['test'].'<br />';
echo session_id().'<br />';

echo '<a href="' . $_SERVER['PHP_SELF'] . '?destroy=true">destroy</a>';


kui nüüd võtta ära session_regenerate_id(); siis sessiooni andmed hävitatakse, kuid sessiooni id jääb samaks!

Panin andmete kustutamisega natuke mööda tõesti. Siiski küsimus, et mis on session_regenerate_id() mõte antud juhul? Uus id ei anna mitte midagi antud juhul juurde. setcookie() seevastu kustutab (unset) sessiooni id (kui id oli küpsistes).
Kommentaarid: 3 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 3
tagasi üles
vaata kasutaja infot saada privaatsõnum
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga

sõnum 18.02.2011 14:18:13 vasta tsitaadiga

Nii, lahendus tuli header'iga suunamises. Selleks sai üks <input type="hidden" name="blabla" value="'.md5(session_id()).'"> väli tehtud.

Töötab. thumbs_up.gif
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 18.02.2011 14:22:00 vasta tsitaadiga

kle see läheb veel ajuvabamaks ju icon_lol.gif see session_id() juba annab hashi. kas siis md5 või sha1 (võimalik, et veel mingid variandid) olenevalt konfist. sa hashid hashi icon_neutral.gif
_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga

sõnum 18.02.2011 15:42:42 vasta tsitaadiga

keevitaja kirjutas:
kle see läheb veel ajuvabamaks ju icon_lol.gif see session_id() juba annab hashi. kas siis md5 või sha1 (võimalik, et veel mingid variandid) olenevalt konfist. sa hashid hashi icon_neutral.gif

Mhmh, sessiooni id oleks muidu html näha .. aa no samas ega vahet pole, kasutaja näeb ju oma sess id nii või naa. icon_biggrin.gif Too on rohkem dela tehniki.
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 18.02.2011 16:18:22 vasta tsitaadiga

ei saa küll aru su jutust, ent seda sessiooni hashi on mõttekas ainult küpsistega edasi anda. kui küpsised on kasutajal keelatud, siis puhaku jalga!
turvakaalutlustel võid veel salvestada ja kontrollida kasutaja ip-d, et ei saaks hashi ära varastada!

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Le Inc
HV Guru
Le Inc

liitunud: 06.09.2002



Autoriseeritud ID-kaardiga

sõnum 18.02.2011 16:53:01 vasta tsitaadiga

Ilmselt pole see "traditsiooniline" lahendus ent teistmoodi ma ei saanud (hetkel) back nupu saagale lahendust (ehk siis kui kood põhjalikumalt ümber kirjutada). Session_id asemel oleks võinud olla mistahes string, vms. mis muutuks sessiooni jooksul. Antud juhul ajab ilma vaevata asja ära sessioni_id, kuivõrd see muutub peale sessiooni (session_regenerate()). Kui kasutaja back nuppu klõpsab (ei saada POST'i), saab php aru et klõpsitakse tühja ja redirectib algusse tagasi, ehk ei lase POST salvestatud infi back nupu abil taaselustada.

See kas ma selle session_id häshin ära või mitte on juba muu teema. Sisuliselt võttes ei pea seda tegema. Mingite küpsiste jms. keelamine ei aidanud (võibolla ma ei pingutanud piisavalt), headeris on sessiooni eluiga minevikus.
Kommentaarid: 56 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 54
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  PHP-s abi vaja mine lehele eelmine  1, 2
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
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.