የPHP መተግበሪያ ለAlice እና ለBob አገልግሎት ይሰጣል፣ ሁለቱም ደግሞ በአገልጋይ በኩል ያለውን የcURL ደንበኛ ተጠቅመው በተኪ በኩል ወደ አንድ አይነት ርቀት ያለው ድረ ገጽ ይደርሳሉ። እያንዳንዱ ጥያቄ cookies.txt ካነበበ፣ ሁለቱ ተጠቃሚዎች አንድ ዓይነት የርቀት መግቢያ ሊያወርሱ ይችላሉ። የተኪ አድራሻዎቻቸውን መቀየር ያንን ፋይል አይለያይም።

የፋይሉን ስም ከመምረጥዎ በፊት የኩኪውን ባለቤት ይምረጡ። አብዛኛውን ጊዜ እሱ የመተግበሪያው አመክንዮአዊ የርቀት ክፍለ ጊዜ ነው፦ የአካባቢ ተጠቃሚ፣ አንድ የተለየ የርቀት መለያ እና አስፈላጊ ሆኖ ሲገኝ የተለየ የሥራ ቦታ። የተኪ መጨረሻ ነጥብ የመንገድ ምርጫ ነው፣ አስተማማኝ የክፍለ ጊዜ መለያ አይደለም። ብዙ ተጠቃሚዎች አንድ መጨረሻ ነጥብ ሊጋሩ ይችላሉ፣ አንድ መጨረሻ ነጥብም መውጫዎችን ሊያሽከረክር ይችላል።

የአንድ ክፍለ ጊዜ ማሰሪያን መጫንና ማስቀመጥ

መተግበሪያው የተረጋገጠውን ክፍለ ጊዜውን በአገልጋይ ከተፈጠረ የፋይል ቁልፍ ጋር እንዲያገናኝ ይፍቀዱ። በግላዊ የኩኪ ማውጫ እና በታመነ $sessionKey አማካኝነት የcURL ውቅር ይህን ቅርጽ ይይዛል፦

$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,
]);

በሕዝብ መካከለኛ አካል ለሚፈቅድ አውታረ መረብ ላይ ለሚደረግ የተፈቀደ የሕዝብ ድረ ገጽ ክፍለ ጊዜ ሙከራ፣ የHTTP ተኪ ዝርዝር እጩ መጨረሻ ነጥቦችን ያቀርባል። የተዋቀረ የተኪ ማረጋገጫ ወይም የተያዘ የተኪ መረጃ የሌለውን እጀታ ይጠቀሙ፣ የኩኪ ሁኔታውንም ለታሰበው ክፍለ ጊዜ ይመድቡ። ይህ ክፍል እጀታን ያዘጋጃል፤ መተግበሪያው ሽግግሩን ያከናውናል ውጤቱንም በመደበኛ የጥያቄ ፍሰቱ ያረጋግጣል። COOKIEFILE ለክፍለ ጊዜው ቀደም ያሉ ኩኪዎችን ይጭናል። COOKIEJAR እጀታው የተያዙ ኩኪዎቹን የሚጽፍበትን ቦታ ይመርጣል። የውጤት ፋይሉን ብቻ ማዘጋጀት ቀዳሚውን መግቢያ አይጭንም።

አዲስ ክፍለ ጊዜ ያለ ፋይል ሊጀምር ይችላል። ለመጀመሪያው ሽግግሩ የታሰበውን የማሰሪያ መንገድ ይስጡት፣ ድረ ገጹ ኩኪዎቹን እንዲመሠርት ይፍቀዱ፣ የተገኘውን ሁኔታም ለቀጣዩ ጥያቄ ያስቀምጡ። የኩኪ ማውጫው በመተግበሪያው ሠራተኛ ሊጻፍበት የሚችል መሆን አለበት ከሕዝብ አገልግሎት ከሚሰጠው የሰነድ ዛፍም ውጭ መቀመጥ አለበት። በጎብኚ የተሰጠ የተጠቃሚ ስም ወይም መንገድ ወደ ፋይል ስም አይቀይሩ፤ የታመነውን ቁልፍ በአገልጋዩ ላይ ይፈልጉ።

ማስቀመጥ በጥያቄ የሕይወት ዑደት ውስጥ ቦታ ይፈልጋል

libcurl ብዙውን ጊዜ ማሰሪያውን በእጀታ ጽዳት ጊዜ ይጽፋል። መተግበሪያው ከርቀት ልውውጡ በኋላ ግልጽ የማስቀመጫ ነጥብ ከፈለገ፣ ይህን መጠየቅ ይችላል፦

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

ይህ አሁን ለእጀታው የሚታወቁትን ኩኪዎች ወደ ተዋቀረው ማሰሪያ ይጽፋል። እጀታውን ለዚያ ክፍለ ጊዜ መጠቀም ከጨረሱ በኋላ ከማይዛመደ ሥራ ጋር አይመድቡት። የAliceን ኩኪዎች በያዘ እጀታ ላይ የማሰሪያውን የፋይል ስም ብቻ መቀየር የBobን ንጹሕ ክፍለ ጊዜ ከመፍጠር ጋር አይተካከልም።

እንዲሁም የተሳካ ማውረድን ከተሳካ ቀጣይነት ይለዩ። የኩኪ ማሰሪያ ሰነድ እንደሚገልጸው በጽዳት ጊዜ የሚከሰት የመጻፍ ውድቀት እንደ ተራ የሽግግር ስህተት አይመለስም። መግቢያ ለአንድ ጥያቄ ከሠራና በሚቀጥለው ጊዜ ከጠፋ፣ የማውጫ ባለቤትነትን፣ ፈቃዶችንና የመተግበሪያውን የምርመራ ውጤት ያረጋግጡ።

ተመሳሳይ ጊዜ ያላቸው ጥያቄዎች ሌላ ወሰን ያስተዋውቃሉ። ሁለት ሠራተኞች አንድ ዓይነት አሮጌ ማሰሪያ ሊጭኑ፣ በማስታወሻ ውስጥ ያለውን ሁኔታቸውን ለብቻቸው ሊቀይሩና ከዚያ የተለያዩ ውጤቶችን ሊያስቀምጡ ይችላሉ። ሁለቱም ጥያቄዎች አንድ የርቀት መግቢያ ከተጋሩ፣ የእያንዳንዱ ክፍለ ጊዜ መቆለፊያ ወይም ተመሳሳይ ተከታታይነት ጠቅላላውን የመጫን፣ የመለዋወጥና የማስቀመጥ ቅደም ተከተል መሸፈን አለበት፤ የመጨረሻውን ጽሕፈት ብቻ መቆለፍ ቀደም ያሉትን ቅጽበታዊ ገጽታዎች አያስታርቅም። የተለያዩ ክፍለ ጊዜዎች የተለያዩ ፋይሎችና ራሳቸውን የቻሉ መቆለፊያዎች ሊኖራቸው ይገባል።

በመውጣት ጊዜ፣ የታሰበውን የርቀት ክፍለ ጊዜ ያቁሙ የአካባቢ የኩኪ ሁኔታውንም በመተግበሪያው ፖሊሲ መሠረት ያስወግዱ። አዲስ የተመረጠ ተኪ ከዚያ ተጠቃሚው ከሚጀምረው አዲስ ክፍለ ጊዜ ጋር ሊጣበቅ ይችላል፣ የተኪ አድራሻው በማስታወሻ ውስጥ ያለው መግቢያ የማን እንደሆነ እንዲወስን ሳይገደድ።

ተዛማጅ ጽሑፎች