توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال php : لاگین و حفظ سشن
rules
October 19th, 2014, 18:09
استاید چند روزه یک مشکلی دارم. داخل سایت با curl یا snoopy کامل لاگین میشه. حالا میام صفحه رو مثلا از صفحه رو سیو کنم یا file-get-contents کنم اما باز لاگین میخواد انگار سشن فقط برای کار با snoopy یا curl میمونه. راه حل چییه ؟
hamid.soltani92
October 19th, 2014, 18:19
سلام.
بله سشن برای curl باز میمونه. دلیلش هم واضحه، چون فایل کوکی رو به curl میدید.
با استفاده از curl و تعریف مجدد فایل کوکی که هنگام لاگین استفاده شده، میتونید این کار رو انجام بدید.
iMohsen
October 19th, 2014, 18:26
در مورد snoopy نمیدونم چی هست . ولی اگر شما cookie ذخیره کنید و از curl_close استفاده کنید . در درخواست های بعدی دیگه این cookie معتبر نیست . شما در تابعی که باهاش لاگین میکنید و cookie نگه میدارید نباید از curl_close استفاده کنید تا cookie در دیگر توابع نیز قابل استفاده باشد .
hamid.soltani92
October 19th, 2014, 18:34
در مورد snoopy نمیدونم چی هست . ولی اگر شما cookie ذخیره کنید و از curl_close استفاده کنید . در درخواست های بعدی دیگه این cookie معتبر نیست . شما در تابعی که باهاش لاگین میکنید و cookie نگه میدارید نباید از curl_close استفاده کنید تا cookie در دیگر توابع نیز قابل استفاده باشد .
جسارتا، فرمایشتون کاملا اشتباه هست.
rules
October 19th, 2014, 18:49
جسارتا، فرمایشتون کاملا اشتباه هست.
قبل اینکه curl_close کنیم مثلا باید با تابع file-get-contents کار کنم ؟ یا باید یک curl جدید با COOKIEJAR ؟
- - - Updated - - -
حل شد. برای دوستانی که سول من رو دارن : (اگر لینکتون شناسایی یوز میخواد خودتون setopt کنید)
function file_get_contents_curl($url) {
$ch = curl_init();
من طبق تجربه ای که داشتم گفتم . در سیستم هایی که براساس session میان و کوکی ست میکنن با هر بار curl_close استفاده از اون کوکی امکان پذیر نیست و مجددا باید کوکی بگیرید .
البته این رو هم خوندم .
You should only call curl_close() when you know you're done with that particular handle, or if switching from its current state to a new one (ie: changing a ton of options via curl_setopt() would be faster by going from a clean new handle than your current "dirty" one.
hamid.soltani92
October 20th, 2014, 12:33
من طبق تجربه ای که داشتم گفتم . در سیستم هایی که براساس session میان و کوکی ست میکنن با هر بار curl_close استفاده از اون کوکی امکان پذیر نیست و مجددا باید کوکی بگیرید .
البته این رو هم خوندم .
در صورتی که به سیستم فایل کوکی رو معرفی کنید، مشکلی با بستن curl نخواهید داشت.
مگه موقع کار کردن با مرورگر، هنگام بستن تب سشن شما اکسپایر میشه؟!