ਇੱਕ 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 ਦਾ ਸਾਫ਼ ਸੈਸ਼ਨ ਬਣਾਉਣ ਦੇ ਬਰਾਬਰ ਨਹੀਂ ਹੈ।

ਸਫਲ ਡਾਊਨਲੋਡ ਅਤੇ ਸਫਲ ਸਥਿਰਤਾ ਵਿੱਚ ਵੀ ਫ਼ਰਕ ਕਰੋ। ਕੂਕੀ-ਜਾਰ ਦਸਤਾਵੇਜ਼ ਦੱਸਦਾ ਹੈ ਕਿ ਸਫ਼ਾਈ ਦੌਰਾਨ ਲਿਖਣ ਦੀ ਅਸਫਲਤਾ ਆਮ ਤਬਾਦਲਾ ਗਲਤੀ ਵਜੋਂ ਵਾਪਸ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ। ਜਦੋਂ ਲੌਗਇਨ ਇੱਕ ਬੇਨਤੀ ਲਈ ਕੰਮ ਕਰੇ ਅਤੇ ਅਗਲੀ ਵਿੱਚ ਗਾਇਬ ਹੋ ਜਾਵੇ, ਤਾਂ ਡਾਇਰੈਕਟਰੀ ਮਾਲਕੀ, ਇਜਾਜ਼ਤਾਂ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਨਿਦਾਨ ਆਉਟਪੁੱਟ ਜਾਂਚੋ।

ਸਮਕਾਲੀ ਬੇਨਤੀਆਂ ਇੱਕ ਹੋਰ ਸੀਮਾ ਲਿਆਉਂਦੀਆਂ ਹਨ। ਦੋ ਵਰਕਰ ਇੱਕੋ ਪੁਰਾਣਾ ਜਾਰ ਲੋਡ ਕਰ ਸਕਦੇ ਹਨ, ਸੁਤੰਤਰ ਤੌਰ 'ਤੇ ਆਪਣੀ ਇਨ-ਮੈਮੋਰੀ ਸਥਿਤੀ ਬਦਲ ਸਕਦੇ ਹਨ, ਅਤੇ ਫਿਰ ਵੱਖਰੇ ਨਤੀਜੇ ਸੰਭਾਲ ਸਕਦੇ ਹਨ। ਜੇ ਦੋਵੇਂ ਬੇਨਤੀਆਂ ਇੱਕ ਦੂਰਲਾ ਲੌਗਇਨ ਸਾਂਝਾ ਕਰਦੀਆਂ ਹਨ, ਤਾਂ ਪ੍ਰਤੀ-ਸੈਸ਼ਨ ਲਾਕ ਜਾਂ ਬਰਾਬਰ ਦਾ ਕ੍ਰਮਬੱਧੀਕਰਨ ਪੂਰੇ ਲੋਡ, ਤਬਾਦਲੇ ਅਤੇ ਸੰਭਾਲ ਕ੍ਰਮ ਨੂੰ ਢਕਣਾ ਚਾਹੀਦਾ ਹੈ; ਸਿਰਫ਼ ਆਖਰੀ ਲਿਖਤ ਨੂੰ ਲਾਕ ਕਰਨਾ ਉਹਨਾਂ ਦੇ ਪਹਿਲੇ ਸਨੈਪਸ਼ਾਟ ਨੂੰ ਮੇਲ ਨਹੀਂ ਕਰਦਾ। ਵੱਖਰੇ ਸੈਸ਼ਨਾਂ ਦੀਆਂ ਵੱਖਰੀਆਂ ਫਾਈਲਾਂ ਅਤੇ ਸੁਤੰਤਰ ਲਾਕ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ।

ਲੌਗਆਉਟ 'ਤੇ, ਇੱਛਤ ਦੂਰਲਾ ਸੈਸ਼ਨ ਖ਼ਤਮ ਕਰੋ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਨੀਤੀ ਅਨੁਸਾਰ ਇਸਦੀ ਸਥਾਨਕ ਕੂਕੀ ਸਥਿਤੀ ਸੇਵਾਮੁਕਤ ਕਰੋ। ਨਵੀਂ ਚੁਣੀ ਪ੍ਰੌਕਸੀ ਫਿਰ ਉਪਭੋਗਤਾ ਵੱਲੋਂ ਸ਼ੁਰੂ ਕੀਤੇ ਕਿਸੇ ਵੀ ਨਵੇਂ ਸੈਸ਼ਨ ਨਾਲ ਜੋੜੀ ਜਾ ਸਕਦੀ ਹੈ, ਪ੍ਰੌਕਸੀ ਪਤੇ ਨੂੰ ਇਹ ਫੈਸਲਾ ਕਰਨ ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਦਿੱਤੇ ਬਿਨਾਂ ਕਿ ਮੈਮੋਰੀ ਵਿੱਚ ਕਿਸਦਾ ਲੌਗਇਨ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ