یک وبلاگ دیگر از یک برنامه نویس دیگر
نوشتههایی با برچسب فایرفاکس
ایجاد مکرر کلید جلسه
شهریور ۱۴م
در مورد جلسات این چند روزه زیاد نوشتم. تو آخرین نوشته، یه دوستی کامنت گذاشتن که استفاده از تابع session_regenerate_id میتونه کمک کنه برای جلوگیری از دزدیدن جلسه ؟ برای تست به این چیزها احتیاج هست :
اول از همه فایرفاکس
دوم فایرباگ
سوم FireCookie
چهارم یک بروزر دیگه غیر از فایرفاکس، مثلا Opera .
کدی مثل این رو ایجاد کنید :
<?php
session_start();
session_regenerate_id();
if (isset($_SESSION['test'])){
echo $_SESSION['test'];
echo "<br />";
echo session_id();
}else{
$_SESSION['test']=$_SERVER['HTTP_USER_AGENT'];
echo "First time";
}
این کد، رشته مربوط به User Agent رو توی جلسه ذخیره میکنه. بعد از دفعه اول که جلسه ایجاد بشه هر بار کلید جلسه هم نمایش داده میشه و همون رشته ذخیره شده، نمایش کلید جلسه فقط برای اینه که دسترسی به کلید جلسه یک کمی راحت شه :D
اول این کد رو توی Opera یا هر بروزری غیر از فایرفاکس اجرا کنید. البته یه Refresh نیازه که کلید و محتوا رو نشون بده.
حالا همون صفحه رو توی فایرفاکس باز کنید. دوبار هم Refresh کنید که هم کلید جلسه رو ببینید هم محتوا رو، این یکی با اون یکی فرق میکنه (طبیعیه دیگه!) حالا توو همین صفحه فایرباگ رو فعال کنید، اگه FireCookie نصب باشه یه تب داره به اسم Cookies اونجا برید، روی PHPSESSID کلیک راست کنید و گزینه Edit رو بزنید:
بعد تو دیالوگ زیر توی قسمت Value مقداری که الان توی Opera (یا هر Browser دیگه که دوست دارید) نمایش داده میشه رو کپی کنید.قبل از اینکه این مقدار کپی شده رو توی فایرفاکس بگذارید، چند بار Opera رو Refresh کنید که یه کلید جدید ساخته بشه (با کمک اون تابع session_regenerate_id ) بعد اون کلیدی که مربوط به جلسه قبل بود و کپی کردید رو توی دیالوگ زیر قسمت Value بگذارید (این دیالوگ رو گفتم، با کلیک راست روی کلمه PHPSESSID و انتخاب گزینه Edit میتونید ببینید، قسمت Host و زمان و … مهم نیست و برای هر کس متفاوته و بستگی داره به هاستی که دارید این کد رو اجرا میکنید ) اینطوری مطمئن میشید که دیگه اون کلید جلسه برای Opera از بین رفته (که البته نرفته !) :
تایید کنید و بعد یه Refresh و اونوقته که اینو میبینید :
یه مشکل دیگه این تابع، اینه که دو بار کوکی مربوط به جلسه رو توی Header میفرسته، Browser های جدید و مدرن مشکلی ندارن با این قضیه ولی مثلا روی بعضی گوشیها قاطی میکنه :)
اگر هم با آرگومان true این تابع رو فراخوانی کنیم، ممکنه مشکل از دست دادن جلسه رو داشته باشیم(توی تست من با Refresh های سریع)، بعلاوه اینکه سرعت رو هم کم میکنه، البته نسبتا.
ممنون از پیام واسه اینکه این تابع رو هم گوشزد کردن.
دانلود از SourceForge بدون مشکل
تیر ۲۹م
اسکریپت رو اگه نصب کردید دوباره آپدیت کنید، چون sf یه تغییراتی تو لینک دانلود داده بود که حالا آپدیت شد
چند وقتی هست که SourceForge در یک اقدام “ناجوانمردانه” :D دانلود رو برای چند تا کشور به خصوص محدود کرده. البته این امکان هست که مدیر پروژه این محدودیت رو غیر فعال کنه ولی در صورتی که اینکار انجام نشده باشه مشکل پابرجاست.
این اسکریپتی که نوشتم (با فایرفاکس و Greasemonkey کار میکنه) به شما امکان میده بدون نیاز به هیچ وب سرویس یا برنامه ای با خود فایرفاکس یا هر دانلود منجری که روی فایرفاکس نصبه فایلها رو دانلود کنید. این اسکریپت مستقیما فایل رو از همون Mirror که توی SF استفاده میکنید دانلود میکنه.
برای اینکار به این چند تا گزینه احتیاجه :
اول فایرفاکس!!!
بعد از اون باید یک addon رو نصب کنید. این Addon اسمش Greasemonkey هست و به شما امکان اجرای userscripts رو میده.
بعد از نصب این addon حالا وقتشه که گام آخر رو انجام بدید. روی این لینک کلیک کنید
بعد از کلیک اگر Greasemonkey درست نصب باشه یه دیالوگ میاد و میپرسه که میخواید این اسکریپت نصب بشه؟ بزنید Install و تمام.
حالا هر فایل رو میخوایید میتونید از SourceForge بگیرید. خیلی ساده از صفحه پروژه دکمه دانلود رو بزنید اینبار دیگه مشکلی پیش نمیاد، دقیقا مثل قبل که ایران تحریم نبود میرید برای دانلود.
اگه میخواید توضیحات بیشتر این اسکریپت رو بخونید یا اینکه خدای ناکرده خدای ناکرده در بارش نظری بدید!!! به این آدرس رجوع کنید. اونجا هم دکمه Install هست که البته مثل لینک بالایی عمل میکنه و فرقی نداره.
فقط اینکه هنوز مشکل استفاده از GIT یا SVN و یا … هنوز وجود داره متاسفانه و تنها راهش اینه که مدیر پروژه دست به کار بشه و این مساله رو حل کنه. این هم حل نمیشه مگه اینکه ما خودمون از مدیر پروژه ها درخواست کنیم. برای پروژه Ubuntuzilla من درخواست دادم و مدیر پروژه محدودیت رو برداشت. بعید میدونم هیچکدوم از برنامه نویسهایی که تو SF فعالیت میکنن با این قضیه مشکلی داشته باشن.
FireBug
بهمن ۱۱م
شاید اگر FireBug نبود اینقدر FireFox رو دوست نداشتم. سالهاست که از فایرفاکس استفاده میکنم و بارها افرادی را دیدم که میگفتند مثلا فلان مرورگر (Browser)،از فایرفاکس سریعتره، یا استاندارد تره. منتها هیچ وقت هیچکس رو ندیدم که بگه برای یهWeb Developer مرورگر بهتری از فایرفاکس هست، و اگر هم گفته چرت و پرت بوده.
یکی از دلایل من همین فایرباگه. اگه برای یه کار کوچک هم دم دستم نباشه،کلا احساس میکنم که فلجم! یعنی وقتی نصب نیست و جایی هستم که امکان نصبش هم نیست،کلا بیخیال کار میشم و میشینم فیلم میبینم یا میرم یه گوشه کتاب میخونم. چرا؟ سادست نصبش کنید (از اینجا برای نصبش اقدام کنید)بعد متوجه خواهید شد.
فایرباگ از چند قسمت تشکیل شده، اولیش کنسول هست که از خطاهای جاوا اسکریپت، تا درخواستهای آژاکس (یه دوستی میگفت بنویس ایجکس) و اگه یه سری افزونه دیگه هم نصب باشه پیغامهای اون افزونه ها همه رو نشون میده.
ادامه مطلب







