Curl și sesiune

Salutări, Evgeni!

Răspundeți la mesajul lui Evgeni Moisevich lui Kalachihin Vladimir:

KV >> Voppos: dacă scriptul este executat de CURL, atunci sesiunea sa






Variabila KV >> ar trebui să fie stocată?
EM> Dacă aveți într-un fel sityatsiyu atunci când apel la scenariu, în care
EM> yuzyaetsya sesiune, nu este un brayser, și un rinichi, atunci da, ar trebui.

Ai încercat? Aici la mine nu se dovedește în nici un fel. Dați un exemplu?


KV >> Și cine și unde se coace apoi cu PHPSESSIONID?

EM> De obicei, nu știu cum să depozitez kyuki:

EM> curl_setopt ($ ch, CURLOPT_COOKIEFILE, $ temp_file_name);
EM> curl_setopt ($ ch, CURLOPT_COOKIEJAR, $ temp_file_name);

Eeee. Din documentație, am afirmat că trebuie să se găsească aceste cookie-uri, care
va fi trecut la scriptul pe care accesează CURL-ul.

07 Sep 06 21:49, Kalachihin Vladimir -> Evgeni Moisevich:

Și ai încercat? Aici y eu nu poluchaetsya. Arătați un exemplu?

KV> Eeee. Din documentație, am decis că ar trebui să existe date de la kyki,
KV> care sunt trimise la scripturi, la care CURL este returnat.
Se pare că nu este cea mai bună documentație. Ar trebui să existe un nume de fișier în care să fie
sunt vânate.

Salutări, Evgeni!

Răspundeți la mesajul lui Evgeni Moisevich lui Kalachihin Vladimir:

EM> prima dată
EM> vedeți o matrice simplă, apăsați f5, într-o matrice există o kyka - ea
EM> am venit din tabără. Fișierul curl.cookie apare în directorul curent.

Bineînțeles, rulez, dar.
Era vorba despre sesiuni. Și ceva nu am înțeles cum să fac CURL în sine
sesiune a gurii.
Ie Am trecut cu succes cookie-ul cu PHPSESSIONID, mai mult sau mai puțin cu succes - parametrii
cerere. Ho! CURL nu apucă cookie-ul: nu monitorizează durata de viață și nu șterge.
Ie sesiunea va fi eterna :-)

08 Sep 06 16:41, Kalachihin Vladimir -> Evgeni Moisevici:

EM >> prima data
EM >> vedeți o matrice simplă, apăsați f5, într-o matrice există o kyka - ea
EM >> a venit de pe server. În directorul text apare un fișier
EM >> curl.cookie.

KV> Bineînțeles că sunt păroși, dar.
KV> Discurs a fost despre sesiuni. Și ceva nu am înțeles cum să fac CURL în sine
KV> aceste sesiuni să pasc. Ie I ypeshna pepedayu kyky cu PHPSESSIONID, mai mult
KV> - mai puțin cu succes - parametrii interogării. Ho! CURL nu ia o prăjitură: nu urmează
KV> pentru timpul lor de viață și nu șterge. Ie sesiunea va fi eterna :-)

De fapt, dacă el croak, el nu va trece pe el.
Adevărat dacă gheața a fost expusă înainte de închiderea brazierei, așa cum se întâmplă de obicei
cu PHPSESSID, atunci kyly pomeemy apoi pepedaet întotdeauna. În acest caz, doar
ștergeți fișierul în care sunt stocate cookie-urile și totul.

Salutări, Evgeni!

Răspundeți la mesajul lui Evgeni Moisevich lui Kalachihin Vladimir:

EM> În acest caz, ștergeți doar fișierul în care sunt stocate prăjiturile și totul.

Ha! Cum o voi spăla? În ce moment?

08 Sep 06 23:08, Kalachihin Vladimir -> Evgeni Moisevich:

EM >> Într-un astfel de zâmbet, ștergeți pur și simplu un fișier unde kaki și tot.

KV> Ha! Cum o pot spăla? În ce moment?

După cum înțeleg, problema este că sesiunea va fi eternă, nu?
Prezintă situația, utilizatorul conectat la site și face ceva acolo,
merge de la o pagină la alta - într-o astfel de sesiune, de asemenea, va fi eternă.
Un kypl este același suport.

Salutări, Evgeni!

Răspundeți la mesajul lui Evgeni Moisevich lui Kalachihin Vladimir:

EM> După cum am înțeles, problema este că sesiunea va fi eternă, nu?






EM> Prezintă situația, utilizatorul conectat la site și ceva acolo
EM> nu

Dacă _login_ - nu există probleme. Dar există și utilizatori simpli.

Și principala problemă este că, printr-o abordare simplă, sesiunea este una pentru toată lumea.

12 Sep 06 10:08, Kalachihin Vladimir -> Evgeni Moisevich:

EM >> După cum am înțeles, problema este că sesiunea va fi eternă, nu?
EM >> Prezintă situația, utilizatorul conectat la site și ceva acolo
EM >> nu

KV> Dacă _loginylis_ - nu este o problemă. Dar sunt, de asemenea, simple
KV> utilizatorilor.
Nu înțeleg ce sunt simpli utilizatori.

KV> Și principala problemă care la sesiunea de abordare simplă una pe
KV> toate.
Și eu nu înțeleg. Scrieți o clasă, într-un context creați un fișier unic
kyki. Pentru fiecare instanță a clasei, veți avea propriile module cookie, adică va avea loc o sesiune.
În general, ce ar trebui să fac?

Salutări, Evgeni!

Răspundeți la mesajul lui Evgeni Moisevich lui Kalachihin Vladimir:

KV >> Și problema de bază care la sesiunea de abordare simplă pe una
KV >> tot.
EM> De asemenea, nu înțeleg acest lucru. Scrieți o clasă, într-un context pe care îl creați
EM> fișierul unic al cookie-ului. Pentru fiecare instanță a clasei,
EM> va avea loc o sesiune.

EM> În general, este necesar să se facă?

Ei bine, în prezent mă interesează o sarcină comună:
există o pagină - undeva în cineva. Pe această pagină trebuie să puneți
mai multe sau mai puțin complicate interfețe web - pe care le am.
Proprietarul paginii are zamochki pentru "design". Și are dreptul
:-)
Am propriile mele necazuri în ceea ce privește drepturile și toleranțele, precum și subiectul
sprijinul tuturor acestor "cineva".

Vreau să găsesc cea mai potrivită pentru toate și convenabil pentru mine opțiune
punerea în aplicare. Minimul - cadrul - este cunoscut :-)

Salutări, Evgeni!

Răspundeți la mesajul lui Evgeni Moisevich lui Kalachihin Vladimir:

EM> scrieți o clasă, pe care o creați
EM> fișierul unic al cookie-ului. Pentru fiecare instanță a clasei,
EM> va avea loc o sesiune.

În general, ideea este corectă, dar totul este un pic greșit :-)

Deci, permiteți-mi să vă reamintesc esența problemei:

Dacă utilizați CURL pentru a apela un script care utilizează o sesiune, atunci
următorul rake va fi detectat:
1) Pentru toți utilizatorii, sesiunea va fi una (ceea ce nu este surprinzător - ei folosesc ambele
ar avea un singur browser - CURL)
2) Sesiunea va fi eterna - aceasta, IMHO, un bug CURL care nu sterge cookie-ul
durata de viață de 0. (Opinia că acest lucru se datorează oarecum CURL "întotdeauna
lansat ", astfel încât bucătarul cu o viață de viață" înainte ca browser-ul să se închidă "și trăiește pentru totdeauna -
se pare, nu este adevărat)

Prin urmare, este necesar să se facă astfel
1) fiecare utilizator al programului folosind CURL a avut sesiunea cu timpul
existența "înaintea închiderii (browserului)" în scriptul care rulează de sub
FLEXIE.
și 2) - la CURL și-a încadrat cookie-ul.

Acestea sunt considerente generale care conduc la implementarea descrisă mai jos. realitate
a fost chiar mai miraculos :-)

De fapt, totul, obiectivul este atins.

Și acum - despre miracole :-)
Personal, am un singur cookie în $ cookie_file - ultima a fost creată
pentru un client cu Firefox! Clienții cu urme de M $ IE din acest fișier nu pleacă.
În cazul în care găsește clienții anteriori din Firefox merge, de asemenea, un mister. Dar totul
lucrări :-)

11 Oct 06 21:56, Kalachihin Vladimir -> Evgeni Moisevich:

EM >> Aș încerca $ root_directory. "/ Curl _" Session_id ().
EM >> atunci y pentru fiecare utilizator va avea propriul cod.

KV> Este prea posibil. Numai în acest caz numărul de fișiere yzh va fi
KV> piesele nu sunt controlate. Și nu există nici un mod normal de a bate aceste fișiere.

session_write_close (); // închideți sesiunea curentă
$ old_session_id = sesiune_id ($ session_id_extracted_from_cookie_file_name);
session_start ();
dacă (! isset ($ _ SESSION ["started"])) // ștergeți fișierul cookie
session_destroy ();
> altul session_write_close ();
>
session_id ($ old_session_id);
session_start ();

în cele din urmă, în cazul în care această metodă vă pare să fie greu obvpatnym, doar ydalay
fișierele care nu s-au schimbat în decurs de 24 de ore (7 zile sau 7 zile, selectați orice
interval).

Salutări, Evgeni!

Răspundeți la mesajul lui Evgeni Moisevich lui Kalachihin Vladimir:

EM> Relaxați-vă înapoi, uitați-vă la ceea ce se întâmpla. Fișierele trebuie create pentru
EM>, astfel încât fiecare utilizator al lui y are propriul font.

Din câte îmi amintesc, propunerea fiecăruia a lui kurla era ca o soluție
probleme de un browser, la toate. Dar acest lucru este rezolvat în cadrul unui singur Kurla.

EM> Este posibil la fiecare recurs al utilizatorului la un site
EM> verificați dacă curățarea a fost făcută astăzi.

Figase. Ie aproximativ vorbind, pentru fiecare reîncărcare trebuie să închideți o altă procedură
trei linii. Sunt puțini dintre ei care atârnă acolo.

KV >> ce pentru acest laborator? Nu îți place cum am propus?
EM> V-ați scris despre morminte.

Așa că am scris cum să ajung. În plus, de fapt, chiar fișierul nu crește -
există un singur cookie. Nu știu de ce, dar înseamnă absență
probleme.







Articole similare

Trimiteți-le prietenilor: