PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1 2 
Sessioonid
Postitaja: PHP.ee 2002-01-09 13:11:01
Artikli "Sessioonid" kommenaarid kirjuta siia
ja jaa
Postitaja: a.o 2002-01-09 13:13:26
asi on huvitav aga selle kohta tahaks ikka palju palju rohkem teada saada...

Võiks olla siin ka login/logout näide/seletus...
session serveris?
Postitaja: anonymous 2002-01-09 13:13:57
olen targemate käest kuulnud et sessionid ei ole mitte serveris vaid on sinu arvuti RAMis. kustuvad ära siis kui sulged browseri.
Ei ole sinu RAMis
Postitaja: atw 2002-01-09 13:14:31
sinu arvutis hoitakse ainult sessiooni ID'd. K6ik ylej22nud tr2ni ON serveris. Think logish: kui asju hoitaks kliendi arvutis, siis ei oleks asi ju turvaline - igayks saaks muutujaid muuta ja igasugu pahandust teha... aga kuna sessioonimuutujad on servis, siis on asi turvaline ja seet6ttu kasutatakse seda ka igasugu ipoodide jm kasutajasysteemide puhul...
RE: Sessioonid
Postitaja: kas? 2002-01-09 13:15:26
küsimus - kas sessioon kestab seni kaua kui browser on avatud.
ja kui ma näiteks browseri sulgen, siis sessiooni väärtus kaob.
RE: Sessioonid
Postitaja: wiruz 2002-01-09 13:16:05
ei ole ju nii ....loe õpetust korralikult, seal ju ära setetaud asi
Cookiesid kasutatakse
Postitaja: el Raito 2002-01-09 13:16:28
Kulla mees session ID-d hoitakse nagunii cookiega kliendi arvutis. Cookie on sihuke pisike failike c:windowscookies kataloogis. Kus ta sul siis RAM-is on?
RE: Sessioonid
Postitaja: keevitaja 2002-01-16 21:26:21
eh, ei tea kas on oluline, aga ma pidin oma xp-s tegema /tmp kataloogi, et see esimine kood tööle hakkaks. unixis seda probleemi vist ei ole.
RE: Sessioonid
Postitaja: lauri@bensiin.com 2002-01-23 02:15:25
php.ini failis on selle tarbeks sektsiooni
[session] all järgnev muutuja
session.save_path = c:/temp/

Kui sealt vastavalt muuta ei pea olema /tmp kataloogi
RE: Sessioonid
Postitaja: Arvi V 2002-05-30 08:14:33
Proovisin kasutada sessioone.
Kuid selle näite puhul. kirjutab ta kogu aeg brauserisse, et oled siin esimest korda. Ei suutnud ka sessiooni tappa.
Milles asi võiks olla?
RE: Sessioonid
Postitaja: mutor 2002-06-01 22:48:58
No minu arust on see kood pisut puugine artiklis. Arvan, et ei saa nii teha et võtan lambist $vaadatud muutuja ja see siis kohe automaatselt sessiooni muutujaga seotud on. Sessiooni muutujatele pääseb ligi minu teadmist mööda nii:

$HTTP_SESSION_VARS['muutuja nimi']

Seda teadmist kasutades, muutsin ära ka näites toodud skripti, ning asi funkab nyyd ....


PHP kood:
 
<?php 
//alustame sessiooni 
session_start(); 
//registreerime sessioonimuutuja 
session_register("vaadatud"); 

if(empty( 
$HTTP_SESSION_VARS['vaadatud'])) 

   echo 
'Oled siin esimest korda. Vajuta Reload.'
   
$vaadatud 1

else 

   
//suurendame muutujat ühe võrra 
   
$HTTP_SESSION_VARS['vaadatud']++;
   echo 
'Vahid seda lehte juba '.$HTTP_SESSION_VARS['vaadatud'].' korda, vajuta Reload.'

?> 


Kõike paremat,
mutor
RE: Sessioonid
Postitaja: Arvi V 2002-06-05 14:23:12
Mul jälle probleem selles, et näitab kogu aeg, et oled esimest korda lehel vajutan niipalju refressi kui tahad.
RE: Cookiesid kasutatakse
Postitaja: stepz 2002-06-12 23:09:54
TSITEERITUD:
Kulla mees session ID-d hoitakse nagunii cookiega kliendi arvutis. Cookie on sihuke pisike failike c:windowscookies kataloogis. Kus ta sul siis RAM-is on?

Teatud parameetritega cookied expirevad browseri sulgemisel ja neid ei kirjutata kettale samuti ei ole need kättte saadavad teistele IE processidele. Selle akna, kus sessioon avatud, child aknad, ehk mis on ctrl-n'ga või javascript või open in new windowga avatud on sama protsessi all ning näevad seda cookiet.

lihtne kas pole.
RE: Sessioonid
Postitaja: hjhj 2002-06-30 14:17:16
aga mida arvate sessioonide mysql panemisest, siis saab oma sessioone ise kontrollida, vajadusel kustutada jne

mul enda on selline süsteem kasutusel
RE: Sessioonid
Postitaja: Mollusk 2002-09-04 23:14:56
Mul näitab ka kogu aeg 'Oled siin esimest korda. Vajuta Reload.'. Mul on nimelt php.ini sees pandud register_globals=Off. Niikui selle sisse lülitan, hakkab kõik töötama. Küsimus: kas sellist nippi on võimalik teha ka register_globals=Off korral?
RE: Sessioonid
Postitaja: vaalaskala 2002-11-28 14:00:53
Kõik see mis te siin räägite on kuul, aga kuidas te kaitsete ennast sessionID äraarvamise vastu?

teada tõde on see, et isegi kui konfis on sessID transiks määratud ja kasutaja seda ei näe annab brauser selle refferrer muutujaga edasi ja see salvestub igasse serverilogisse kuhu viidatud lingilt mindi, ainus asi mida häkker peab tegema on logi jälgima ja sealt selle id -ga teie lehele minema (tegutsema peab küllalt kiiresti et sessiooni aegumise piiridesse jääda)ja ta ongi teie sessiooniga sees.

Millist kaitset tarkpead selle vastu pakuvad?

Viimati muudetud: 28-11-2002 14:08:42
Muutja: vaalaskala
Põhjus: paar tähte sõnadest puudu

RE: Sessioonid
Postitaja: fscked up lammas ( upb@email.ee) 2002-12-26 09:04:19
MUIG.

Sessioonicookie ei salvestu tavaliselt apache logidesse.
ja kui "äkker" saab juba kuidagi su serveri logisid lugeda on midagi _VÄGA_ valesti :p

sessioonide turvalisus põhinebki selles et session idd ei ole võimalik ära arvata.

ja alati on võimalik sessiooni sisse salvestada kliendi ip aadress, kellele see sessioon kuulub ja seda iga kord kontrollida.

lammas
RE: Sessioonid
Postitaja: vaalaskala 2003-01-15 19:28:59
vanarahva seas on levinud arusaam, et ennem kui vastad tutvu vähemalt eelmise posti sisuga või muidu saad pügada lammas :)

ei rääkinud sessioonikoogi salvestumisest veebiserveri logisse vaid sessid salvestumisest veebiserveri logisse ja selleks, et häkker seda teada saaks ei pea ta sugugi saama ligi sinu veebiserverisse kuna võib seda ka oma veebiserveri logisse tekitada, tekitades su lehele suvalise lingi mis viitab tema serverisse (olgu see kas mingi bänner või lihtsalt lisatud link foorumis jne võimalusi on selleks hulgim kuna sessid antakse edasi brauseri poolt, siis ei saa sa sinna midagi parata, konfi oma pehapeed niivõinaa)

Ip võib olla paljudel ühine, näiteks inimestel kes kasutavad proxyt või yhist gatewayd maailmaga suhtlemisel ning selle järgi sessioonikasutajate piiramine oleks puhas mõttetus.

siin aga sulle ka lahendus, et sa ennast mujal lambaks ei teeks või sinu lambaprogesid kurjasti ei kasutataks.

Anna sessiooni loomisel kasutajale küpsis või kaks ja genereeri sinna sisse mingi random pask ja pane nimeks samuti random pask(6 numbristtähesterimärgist peaks piisama) hoia genereeritud väärtuseid ka sessioonis ja kasutaja aktsioonide puhul kontrolli küpsiste sisu vastavust. Lisaks sessioonivõtmele (mis võib sinu teadmata kellegile lekkida kasvõi tobeda naiskasutaja poolt lingi pastemisel IRC -sse) on nyyd h2kkeril vaja teada ka kasutaja arvutis oleva kypsise nime ja sisu ja sessioonivõtme kasutamiseks peaks ta need oma arvutisse tekitama. Kui kypsist pole või väärtused ei klapi on sul võimalus kasutajaga sessioon lõpetada ja mõlemaid pooli sundida alustama uut sessiooni.

Samane turvaauk on muideks ka e-kindlustuse veebilehel city24 (viimasel siis vist isegi ametlikult urli osana saadaval ja võid sbrad rahulikult urli saates oma sessiooniga liita) veebilehel või pakun, et pea igal lehel kus sessid on ripakil ja topeltkäideldavuse kontroll puudumas kuna tegu on tarkvara puugiga.
RE: Sessioonid
Postitaja: lammas (upb@email.ee) 2003-01-16 14:33:53
Tänan heade soovituste eest :)

Ma eeldasin millegipärast et sessid (sessiooni id vist?) antaksegi edasi cookiega. Sest normaalse mõistusega inimene ei kirjutagi rakendust kus Sessiooni id on osa urlist (nii satubki veebiserveri logisse). Ok, cookiet on ka võimalik varastada näiteks XSS rünnaku kaudu aga samamoodi on võimalik varastada ka urli.

>Ip võib olla paljudel ühine, näiteks inimestel kes kasutavad proxyt
>või yhist gatewayd maailmaga suhtlemisel ning selle järgi
>sessioonikasutajate piiramine oleks puhas mõttetus.

Jah, aga kui tõenäoline on, et äkkeril ja tavalisel kasutajal on sama IP aadress??

St, oletame et äkker saab teada kellegi sessiooni id, siis kuidas saab ta enda ip aadressiks selle, mis on serveris vastava sessiooni id'ga seotud andmetes kirjas?

>Anna sessiooni loomisel kasutajale küpsis või kaks ja genereeri >sinna
>sisse mingi random pask ja pane nimeks samuti random pask(6
>numbristtähesterimärgist peaks piisama) hoia genereeritud väärtuseid
>ka sessioonis ja kasutaja aktsioonide puhul kontrolli küpsiste sisu
>vastavust.

Täpselt sama efekt, mis Sessiooni ID enda hoidmine küpsises.
Mitme küpsise kasutamine (mis on "rändom paska" täis) ei anna paremat efekt, kuna kui üks neist on võimalik varastada, on ka teine.

Sessiooni id genereeritaksegi Sinu mõistes "rändom pasast", et huupi pakkumisega oleks raske sattuda mõnele olemasolevale sessiooni id'le.

City24 turvaaugu kohta ei imestagi, kuna selle programmeeriti
mulle teadaolevalt XXL "the most secure web applications in .ee" digitali meeste poolt ;)
RE: Sessioonid
Postitaja: vaalaskala 2003-01-20 15:40:21
TSITEERITUD:
Tänan heade soovituste eest :)

Ma eeldasin millegipärast et sessid (sessiooni id vist?) antaksegi edasi cookiega. Sest normaalse mõistusega inimene ei kirjutagi rakendust kus Sessiooni id on osa urlist (nii satubki veebiserveri logisse). Ok, cookiet on ka võimalik varastada näiteks XSS rünnaku kaudu aga samamoodi on võimalik varastada ka urli.


Palju sa tead normaalseid inimesi ja palju neid tegelikult eksisteerib, raske vastata, aga paljud teevad seda kas teadlikult või mitteteadlikult.


TSITEERITUD:
Jah, aga kui tõenäoline on, et äkkeril ja tavalisel kasutajal on sama IP aadress??

St, oletame et äkker saab teada kellegi sessiooni id, siis kuidas saab ta enda ip aadressiks selle, mis on serveris vastava sessiooni id'ga seotud andmetes kirjas?


nuh ysna suur tõenäosus on, et ma võin häxida läbi mingi suurema kohaliku proxi ja lasta terve see blokk bännida. Juhul, kui tehakse IP põhjal mingit keelamiskontrolli võib selline terve bloki ellimineerimine olla ründe eesmärgiks. (see käis siis ip põhise kontrolli kohta).

TSITEERITUD:
Täpselt sama efekt, mis Sessiooni ID enda hoidmine küpsises.
Mitme küpsise kasutamine (mis on "rändom paska" täis) ei anna paremat efekt, kuna kui üks neist on võimalik varastada, on ka teine.


See ei pruugi alati nii olla, saades oma serverilogist sessid ei pruugi me kätte saada teise venna masinast kooki ja selles olevat random paska. Aimates, et seal koogis võib olla sessid võime me seda aga siis juba ise vabalt genereerida. Seega genereerides veel ise mingeid kolmandaid turvalisi võtmeid mis ei sõltu serverist ega logitavatest elementidest õnnestub meil siiski turvalisust tõsta.

TSITEERITUD:
Sessiooni id genereeritaksegi Sinu mõistes "rändom pasast", et huupi pakkumisega oleks raske sattuda mõnele olemasolevale sessiooni id'le.


Üsna tõenäoline ongi, et seda ära ei arvata, vaid varastatakse või söödetakse ette tehnikale sinu teadmata või kasutaja rumalusest. Kaitse ongi pigem viimaste juhuste tarvis.
RE: Sessioonid
Postitaja: stepz 2003-02-09 02:43:36
Muidu enamvähem asjalik turvaprobleemide jutt, aga lisaka selle:
TSITEERITUD:

>Ip võib olla paljudel ühine, näiteks inimestel kes kasutavad proxyt
>või yhist gatewayd maailmaga suhtlemisel ning selle järgi
>sessioonikasutajate piiramine oleks puhas mõttetus.

Jah, aga kui tõenäoline on, et äkkeril ja tavalisel kasutajal on sama IP aadress??

St, oletame et äkker saab teada kellegi sessiooni id, siis kuidas saab ta enda ip aadressiks selle, mis on serveris vastava sessiooni id'ga seotud andmetes kirjas?

juurde, et IP feikimine ei ole inimesele kes arvutit natukene tunneb, eriline probleem. Eriti kui on saavutatud juurdepääs teatu võrgusõlmedele (sugugi mitte võimatu).

Aga muidu päris suure osa probleeme lahendab http-auth meetod kasutaja identifiseerimiseks koostöös kasutajale cookiega antavast infost.
RE: Sessioonid
Postitaja: arvaja 2003-02-10 11:33:16
ja cityga on yldse naljakaid asju olnud :P mehed tegid projekti analüüsi city24's siis kui pool bugist koodi oli valmis :P IRW
RE: Sessioonid
Postitaja: okpoiss 2003-02-11 10:42:23
Warning: Cannot send session cookie - headers already sent by (output started at /home/civilization/public_html/margo/in.php:10) in /home/civilization/public_html/margo/in.php on line 12

Warning: Cannot send session cache limiter - headers already sent (output started at /home/civilization/public_html/margo/in.php:10) in /home/civilization/public_html/margo/in.php on line 12


Selline error tuli selle sessiooni koodi peale.
RE: Sessioonid
Postitaja: Miskine 2003-02-14 22:38:06
Tervitus

Tekkis selline küsimus, kuna jooksin ise sellise probleemi otsa:
Kas on võimalik sessidega, cookietega või midaiganes kasutades sisse logides ühes kohas (ühes alamdomeenis yks.nimi.ee) edasi liikudes teise kohta (teine alamdomeen kaks.nimi.ee) samamoodi see sessioon säilitada andmetega kasutaja kohta ?

Proovisin sess + mysql baasil, kui ikka mujal alustab uut sessiooni jne jne.

RE: Sessioonid
Postitaja: veel 1 külaline 2003-02-17 10:21:35
IMO on tegemist sellega, et peale headeri saatmist tahetakse veel midagi saata, mis kuulub headerisse. Niisiis on viga koodi ülesehituses/järjekorras. Sessioonid, meta tagid ja <head> tagid peavad olema faili alguses jadamisi. Sinna vahele ei tohi sattuda <body> või midagi sellist...

Leheküljed: 1 2 

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0159649848938