ಒಂದು 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 ರ ಸ್ವಚ್ಛ ಸೆಷನ್ ರಚಿಸುವುದಕ್ಕೆ ಸಮನಲ್ಲ.

ಯಶಸ್ವಿ ಡೌನ್‌ಲೋಡ್ ಮತ್ತು ಯಶಸ್ವಿ ನಿರಂತರತೆಯನ್ನೂ ಪ್ರತ್ಯೇಕಿಸಿ. ಕುಕಿ-ಜಾರ್ ದಾಖಲೆ ಹೇಳುವಂತೆ ಸ್ವಚ್ಛಗೊಳಿಸುವಿಕೆಯಲ್ಲಿ ಬರವಣಿಗೆ ವೈಫಲ್ಯವು ಸಾಮಾನ್ಯ ವರ್ಗಾವಣೆ ದೋಷವಾಗಿ ಹಿಂತಿರುಗಿಸುವುದಿಲ್ಲ. ಒಂದು ವಿನಂತಿಗೆ ಲಾಗಿನ್ ಕೆಲಸ ಮಾಡಿ ಮುಂದಿನದರಲ್ಲಿ ಮಾಯವಾದಾಗ, ಡೈರೆಕ್ಟರಿ ಮಾಲೀಕತ್ವ, ಅನುಮತಿಗಳು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ನ ರೋಗನಿರ್ಣಯ ಔಟ್‌ಪುಟ್ ಪರಿಶೀಲಿಸಿ.

ಏಕಕಾಲಿಕ ವಿನಂತಿಗಳು ಇನ್ನೊಂದು ಗಡಿಯನ್ನು ತರುತ್ತವೆ. ಇಬ್ಬರು ಕೆಲಸಗಾರರು ಒಂದೇ ಹಳೆಯ ಜಾರ್ ಲೋಡ್ ಮಾಡಬಹುದು, ತಮ್ಮ ಮೆಮೊರಿ ಸ್ಥಿತಿಯನ್ನು ಸ್ವತಂತ್ರವಾಗಿ ಬದಲಿಸಬಹುದು, ನಂತರ ಬೇರೆ ಬೇರೆ ಫಲಿತಾಂಶಗಳನ್ನು ಉಳಿಸಬಹುದು. ಎರಡೂ ವಿನಂತಿಗಳು ಒಂದೇ ದೂರದ ಲಾಗಿನ್ ಹಂಚಿಕೊಂಡರೆ, ಪ್ರತಿ-ಸೆಷನ್ ಲಾಕ್ ಅಥವಾ ಸಮಾನ ಸರಣೀಕರಣವು ಸಂಪೂರ್ಣ ಲೋಡ್, ವಿನಿಮಯ ಮತ್ತು ಉಳಿಸುವ ಕ್ರಮವನ್ನು ಆವರಿಸಬೇಕು; ಕೇವಲ ಅಂತಿಮ ಬರವಣಿಗೆಯನ್ನು ಲಾಕ್ ಮಾಡುವುದು ಅವರ ಹಿಂದಿನ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್‌ಗಳನ್ನು ಹೊಂದಿಸುವುದಿಲ್ಲ. ವಿಭಿನ್ನ ಸೆಷನ್‌ಗಳು ವಿಭಿನ್ನ ಫೈಲ್‌ಗಳು ಮತ್ತು ಸ್ವತಂತ್ರ ಲಾಕ್‌ಗಳನ್ನು ಹೊಂದಿರಬೇಕು.

ಲಾಗ್ ಔಟ್‌ನಲ್ಲಿ, ಉದ್ದೇಶಿತ ದೂರದ ಸೆಷನ್ ಮುಗಿಸಿ ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ನ ನೀತಿಯ ಪ್ರಕಾರ ಅದರ ಸ್ಥಳೀಯ ಕುಕಿ ಸ್ಥಿತಿಯನ್ನು ನಿವೃತ್ತಿಗೊಳಿಸಿ. ಹೊಸದಾಗಿ ಆಯ್ಕೆ ಮಾಡಿದ ಪ್ರಾಕ್ಸಿಯನ್ನು ನಂತರ ಬಳಕೆದಾರರು ಪ್ರಾರಂಭಿಸುವ ಯಾವುದೇ ಹೊಸ ಸೆಷನ್‌ಗೆ ಜೋಡಿಸಬಹುದು, ಪ್ರಾಕ್ಸಿ ವಿಳಾಸವು ಮೆಮೊರಿಯಲ್ಲಿ ಯಾರ ಲಾಗಿನ್ ಇದೆ ಎಂದು ನಿರ್ಧರಿಸುವ ಜವಾಬ್ದಾರಿ ಹೊತ್ತದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು