වෙන වෙනම පරිශීලක සැසි සඳහා PHP cURL කුකී බඳුන්
දුරස්ථ සැසිය වටා PHP cURL කුකී ස්ථාවරත්වය නිර්මාණය කිරීම: විශ්වාසදායක ගොනු නාම, පැහැදිලි සුරැකීම් සහ සමගාමී ඉල්ලීම්.
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 ගේ පිරිසිදු සැසිය සෑදීමට සමාන නොවේ.
සාර්ථක බාගැනීමක් සහ සාර්ථක ස්ථාවරත්වයක් ද වෙන්කර හඳුනා ගන්න. කුකී-බඳුන් ලේඛනය සඳහන් කරන්නේ පිරිසිදු කිරීමේදී ලිවීමේ අසාර්ථකත්වය සාමාන්ය මාරු කිරීමේ දෝෂයක් ලෙස ආපසු නොදෙන බවයි. පිවිසුමක් එක් ඉල්ලීමකට වැඩ කර ඊළඟ එකේදී අතුරුදහන් වූ විට නාමාවලි හිමිකාරිත්වය, අවසර සහ යෙදුමේ රෝග විනිශ්චය ප්රතිදානය පරීක්ෂා කරන්න.
සමගාමී ඉල්ලීම් තවත් මායිමක් හඳුන්වා දෙයි. සේවකයන් දෙදෙනෙකුට එකම පැරණි බඳුන පූරණය කළ හැක, ස්වාධීනව ඔවුන්ගේ මතක තත්ත්වය වෙනස් කළ හැක, පසුව වෙනස් ප්රතිඵල සුරකින්න. ඉල්ලීම් දෙකම එක් දුරස්ථ පිවිසුමක් බෙදාගන්නේ නම්, සැසියකට එක් අගුලක් හෝ සමාන අනුක්රමණයක් මුළු පූරණ, හුවමාරු සහ සුරැකීම් අනුපිළිවෙල ආවරණය කළ යුතුය; අවසාන ලිවීම පමණක් අගුලු දැමීම ඔවුන්ගේ පෙර ඡායාරූප සමගි නොකරයි. වෙනස් සැසිවලට වෙනස් ගොනු සහ ස්වාධීන අගුල් තිබිය යුතුය.
පිටවීමේදී, අදහස් කළ දුරස්ථ සැසිය අවසන් කර යෙදුමේ ප්රතිපත්තිය අනුව එහි දේශීය කුකී තත්ත්වය විශ්රාම ගන්වන්න. අලුතින් තෝරාගත් ප්රොක්සියක් එවිට පරිශීලකයා ආරම්භ කරන ඕනෑම නව සැසියකට සම්බන්ධ කළ හැක, ප්රොක්සි ලිපිනය මතකයේ කාගේ පිවිසුමද යන්න තීරණය කිරීමේ වගකීම නොපවරා.