PHP-forrit þjónar Alice og Bob, og bæði nota cURL-biðlara þess á þjónshlið til að ná sama fjarlæga vefsvæðinu í gegnum milliþjón. Ef hver beiðni hleður cookies.txt geta notendurnir tveir erft sama fjarlæga innskráningu. Að breyta milliþjónsföngum þeirra aðgreinir ekki þá skrá.

Veldu eiganda vafrakökunnar áður en þú velur skráarheitið. Venjulega er það rökleg fjarlota forritsins: staðbundinn notandi, tilteknar fjarlægur reikningur og, þar sem þarf, aðskilið vinnusvæði. Milliþjónsendapunktur er leiðarval, ekki áreiðanleg auðkenni lotu. Nokkrir notendur geta deilt einum endapunkti, og endapunktur getur skipt um útgönguleiðir.

Hladdu og vistaðu krukkuna í sömu lotu

Leyfðu forritinu að varpa sannvottaðri lotu sinni á skráarlykil sem þjónninn býr til. Með einkarekinni vafrakakumöppu og traustum $sessionKey hefur cURL-stillingin þessa mynd:

$jar = $cookieDirectory . '/' . $sessionKey . '.cookies';

$ch = curl_init('https://service.example.net/account');
curl_setopt_array($ch, [
    CURLOPT_PROXY => 'http://proxy.example.net:8080',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_COOKIEFILE => $jar,
    CURLOPT_COOKIEJAR => $jar,
]);

Fyrir leyft lotupróf á opinberu vefsvæði í neti sem leyfir opinberan millilið veitir HTTP-milliþjónalistinn kandídatsendapunkta. Notaðu handfang án stilltrar milliþjónaaðkenningar eða geymdra milliþjónaupplýsinga, og haltu vafrakakastöðunni úthlutaðri tilætlaðri lotu sinni. Þetta brot stillir handfang; forritið framkvæmir flutninginn og athugar niðurstöðuna í gegnum venjulegt beiðniflæði sitt. COOKIEFILE hleður fyrri vafrakökum fyrir lotuna. COOKIEJAR velur hvar handfangið skrifar geymdar vafrakökur sínar. Að stilla aðeins úttaksskrána hleður ekki fyrri innskráningunni.

Ný lota getur byrjað án skrár. Gefðu fyrsta flutningi hennar tilætluðu krukkuslóðina, láttu vefsvæðið koma vafrakökunum á og vistaðu stöðuna sem myndast fyrir næstu beiðni. Vafrakakumappan verður að vera skrifanleg af vinnuafli forritsins og haldið utan opinberlega þjónaðs skjalskrjáa. Breyttu ekki notandanafni eða slóð frá gesti í skráarheiti; flettu upp trausta lyklinum á þjóninum.

Vistun þarf pláss í lífsferli beiðninnar

libcurl skrifar krukkuna venjulega við hreinsun handfangsins. Ef forritið þarf skýran vistunarpunkt eftir fjarlægu skiptin getur það beðið um:

curl_setopt($ch, CURLOPT_COOKIELIST, 'FLUSH');

Þetta skrifar vafrakökurnar sem handfangið þekkir núna í stillta krukkuna sína. Ljúktu notkun handfangsins fyrir þá lotu áður en þú úthlutar því óskyldu verki. Að breyta aðeins krukkuslóðinni á handfangi sem geymir þegar vafrakökur Alice jafngildir ekki því að búa til hreina lotu Bobs.

Greindu líka árangursríka niðurhal frá árangursríkri varanleika. Skjöl vafrakökukrukkunnar taka fram að skrifvilla við hreinsun sé ekki skilað sem venjulegri flutningsvillu. Athugaðu eignarhald möppu, heimildir og greiningarúttak forritsins þegar innskráning virkar fyrir eina beiðni og hverfur í þeirri næstu.

Samhliða beiðnir kynna aðra mörk. Tveir vinnumenn geta hlaðið sömu gömlu krukkunni, breytt stöðu sinni í minni óháð og síðan vistað mismunandi niðurstöður. Lás fyrir hverja lotu eða samsvarandi raðun verður að ná yfir alla hleðslu, skipti og vistun ef báðar beiðnirnar deila einni fjarlægri innskráningu; að læsa aðeins lokaskrifinu samræmir ekki fyrri skyndimyndir þeirra. Mismunandi lotur ættu að hafa mismunandi skrár og óháða lása.

Við útskráningu ljúktu tilætlaðri fjarlotunni og dragðu staðbundna vafrakakastöðu hennar til baka samkvæmt stefnu forritsins. Nývalinn milliþjónn getur þá verið tengdur hvaða nýju lotu sem notandinn byrjar, án þess að milliþjónsfangið ráði því hvers innskráning er í minni.

Tengdir greinar