تبلیغات :
خرید لپ تاپ استوک
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 2 از 3 اولاول 123 آخرآخر
نمايش نتايج 11 به 20 از 22

نام تاپيک: session و login كاربران

  1. #11
    کاربر فعال انجمن موسیقی David.Jn's Avatar
    تاريخ عضويت
    Jul 2007
    پست ها
    2,070

    پيش فرض

    من کاملا با نظر neopersia موافقم .
    منم با شیء گرایی که neopersia گفتن موافقم ولی از این حرفهای دوستون چیزی نفهمیدم آخه چه جوری میشه با sql کاربرارو شناسایی کرد.

    ولی این دوستمون یه چیزی در مورد ترافیک سایت درهنگام استفاده از سشن گفتن چه جوری میشه از این ترافیک جلوگیری کرد؟

  2. #12
    داره خودمونی میشه hadi_joulaee's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    <iostream.h>
    پست ها
    137

    پيش فرض

    من منظورم این بود که هر کاربری که میخواد لوگین کنه ابتدا واسه id اون یه سشن در نظر بگیری و بعد از اینکه کاربر تشخیص هویت شد(با اطلاعاتی که تو دیتابیس ازش داریم). حالا نوبت به این میرسه که ببینیم که چه اجازه دسترسی داره!!!
    کاربر عادیه یا مدیره!
    حالا که فهمیدیم permission ش چیه اون موقع میتونیم محدودیت هایی که کاربر عادی نسبت به مدیر داره رو ایجاد کنیم.

  3. #13
    کاربر فعال انجمن موسیقی David.Jn's Avatar
    تاريخ عضويت
    Jul 2007
    پست ها
    2,070

    پيش فرض

    من منظورم این بود که هر کاربری که میخواد لوگین کنه ابتدا واسه id اون یه سشن در نظر بگیری و بعد از اینکه کاربر تشخیص هویت شد(با اطلاعاتی که تو دیتابیس ازش داریم). حالا نوبت به این میرسه که ببینیم که چه اجازه دسترسی داره!!!
    کاربر عادیه یا مدیره!
    حالا که فهمیدیم permission ش چیه اون موقع میتونیم محدودیت هایی که کاربر عادی نسبت به مدیر داره رو ایجاد کنیم.
    ممنون
    ولی اینارو میدونم
    اون حرف دوستمون که گقتن با دستورات sql تمام این کار ها را میشه انجام داد را متوجه نشدم .
    یعنی اصلآ سشن بکار نبری و وبا اون دستورات تشخیص بدی؟؟؟!!!
    آخه چه جوری میشه با Sql کاربرا رو تو صفحات دیگه شناسایی کرد.

  4. #14
    داره خودمونی میشه ahmadirad1365's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    تهران
    پست ها
    105

    پيش فرض

    ممنون
    ولی اینارو میدونم
    اون حرف دوستمون که گقتن با دستورات sql تمام این کار ها را میشه انجام داد را متوجه نشدم .
    یعنی اصلآ سشن بکار نبری و وبا اون دستورات تشخیص بدی؟؟؟!!!
    آخه چه جوری میشه با Sql کاربرا رو تو صفحات دیگه شناسایی کرد.
    سلام
    نگاه کنید شما سایت گوگل رو در نظر بگیرید ، در این سایت در هر لحظه میلیونها نفر به پنل خود لوگین و دست به تغییرات میزنند، خوب اگر ما بخواهیم برای هر کاربر یک سشن ایجاد کنیم یقینا هر چقدر که سرورمون گردن کلفت باشه باز هم کم میاره برای همین است که در برنامه های استاندارد شده دات نت برای اینکه بتونن از مشکلات این بار اضافی جلوگیری کنند اولن به کل با استفاده از فایل کانفیگ استفاده از سشن رو غیر فعال میکنند و تنها در جاهایی که لازم است در همان صفحه استفاده از اونو مجاز میکنند و دوما (اصلی ترین کار) از دستورات treading استفاده مینمایند تا این بار محاسباتی رو بین تمام منابع سیستم تقسم کنند (به ایمیل گوگل وقتی وصل میشدید بعد از فشار دادن دکمه مربوطه به آدرس بار نگاهی بندازید، حتما با نوشته هایی مثل tread و redirect بر میخورید) و این جوری سرعت پاسخگویی بالا میرود.
    حالا چه جوری بدون استفاده از سشنها بفهمیم که کدوم کاربر در صفحه است، برای این کار چندین راه وجود داره که در زیر عمومی ترینهاشو براتون یه توضیح مختصری میدم و راه های استاندارد شده و حرفه ایشم که یقینا اینجا جای بحثش نیست:
    1- وقتی کاربر لوگین کرد در صورت معتبر بودن فقط آدی کاربر (هر چیزی میتونه باشه فقط باید در دیتابیس به صورت یک کلید (از هر نوعش بستگی به منطق دیتابیس شما داره) شناخته شده باشه) رو توی یک متغییر میریزیم بعد برای هر دکمه ای که قراره ما کاربر رو به صفحه ای ارجاء بده با استفاده از Query String اون متغیرمون رو به صفحه مربوطه بفرستیم و در صفحه مربطه هم باید بر اساس اون متغیر اومده دستورات لازم رو اعمال کنیم.
    2-در دیتابیس برای هر کاربر جدولی درست کنیم تا بشه توش مقادیری مانند وضعیت کاربری هر کاربر رو ثبت کرد بعد توی همون دیتابیس (sql 2005) بر طبق منطق لازم دست به ایجاد Stored Procedure (روالهای ذخیر شده معنی فارسیشه) بزنیم به طوری که اگر اون رویه ایجاد شد به ما نتیجه مورد نظرمون رو بده ، بعد تنها کافی است که از این Stored Procedure های ایجاد شده تنها با فراخوانی آنها کاربرمون رو در هر صفحه مدیریت کنیم.
    همان طور که فهمیدید برای استفاده از این راه باید دارای منطق برنامه نویسی قوی داشته باشید و هر حرکت کاربر رو پیش بینی کنید.
    3- اگر ما بیایم راه های اول و دوم رو با هم به صورت ترکیبی استفاده و تنکش هم یه خورده از کوکی ها استفاده کنیم دقیقا میشه همون چیزی که اکثر برنامه های تحت وب ازش استفاده میکنند از جمله همین vBulletin
    (تست کنید وارد پنل خود در انجمن شده و بعد از ورود اتصال خود را به اینترنت قطع کرده و دوباره اتصال بیابید میبینید که هنوز انجمن شما رو به عنوان یک کاربر معتبر میشناشه!)
    در کل ما در بالا در حقیقت به مدیریت نقشها به صورت ضمنی پرداخته ایم، اگر چه این کارها شاید طاقت فرسا و سخت جلوه کند اما نتیجه آن بسار دلنشین خواهد بود. در ضمن اصول گفته شده در همه زبانهای برنامه نویسی از دات نت گرفته تا پی اچ پی ، پریل و زبانهای نه چندان شناخته شده دیگه قابل اجراست و تنها فرقشون در تعداد خط کدی که باید فکر کنید و بنویسیده .
    البته بگما در C#.net 2 این کارا تا حد بسیار زیادی از قبل برای استفاده راحت تر شما نوشه شده است که این خود یکی از برتریهای دات نت در قبال زبوهای بی قاعده ای مثل پی اچ پی است که فهماندن یک شی بهش N دقیقه وقت لازمه
    امید وارم فهمیده باشد، هر چند که مطالب ذکر شده خیلی تازه نیستند

  5. #15
    حـــــرفـه ای neopersia's Avatar
    تاريخ عضويت
    Oct 2006
    پست ها
    3,580

    پيش فرض

    سلام
    نگاه کنید شما سایت گوگل رو در نظر بگیرید ، در این سایت در هر لحظه میلیونها نفر به پنل خود لوگین و دست به تغییرات میزنند، خوب اگر ما بخواهیم برای هر کاربر یک سشن ایجاد کنیم یقینا هر چقدر که سرورمون گردن کلفت باشه باز هم کم میاره برای همین است که در برنامه های استاندارد شده دات نت برای اینکه بتونن از مشکلات این بار اضافی جلوگیری کنند اولن به کل با استفاده از فایل کانفیگ استفاده از سشن رو غیر فعال میکنند و تنها در جاهایی که لازم است در همان صفحه استفاده از اونو مجاز میکنند و دوما (اصلی ترین کار) از دستورات treading استفاده مینمایند تا این بار محاسباتی رو بین تمام منابع سیستم تقسم کنند (به ایمیل گوگل وقتی وصل میشدید بعد از فشار دادن دکمه مربوطه به آدرس بار نگاهی بندازید، حتما با نوشته هایی مثل tread و redirect بر میخورید) و این جوری سرعت پاسخگویی بالا میرود.
    حالا چه جوری بدون استفاده از سشنها بفهمیم که کدوم کاربر در صفحه است، برای این کار چندین راه وجود داره که در زیر عمومی ترینهاشو براتون یه توضیح مختصری میدم و راه های استاندارد شده و حرفه ایشم که یقینا اینجا جای بحثش نیست:
    1- وقتی کاربر لوگین کرد در صورت معتبر بودن فقط آدی کاربر (هر چیزی میتونه باشه فقط باید در دیتابیس به صورت یک کلید (از هر نوعش بستگی به منطق دیتابیس شما داره) شناخته شده باشه) رو توی یک متغییر میریزیم بعد برای هر دکمه ای که قراره ما کاربر رو به صفحه ای ارجاء بده با استفاده از Query String اون متغیرمون رو به صفحه مربوطه بفرستیم و در صفحه مربطه هم باید بر اساس اون متغیر اومده دستورات لازم رو اعمال کنیم.
    2-در دیتابیس برای هر کاربر جدولی درست کنیم تا بشه توش مقادیری مانند وضعیت کاربری هر کاربر رو ثبت کرد بعد توی همون دیتابیس (sql 2005) بر طبق منطق لازم دست به ایجاد Stored Procedure (روالهای ذخیر شده معنی فارسیشه) بزنیم به طوری که اگر اون رویه ایجاد شد به ما نتیجه مورد نظرمون رو بده ، بعد تنها کافی است که از این Stored Procedure های ایجاد شده تنها با فراخوانی آنها کاربرمون رو در هر صفحه مدیریت کنیم.
    همان طور که فهمیدید برای استفاده از این راه باید دارای منطق برنامه نویسی قوی داشته باشید و هر حرکت کاربر رو پیش بینی کنید.
    3- اگر ما بیایم راه های اول و دوم رو با هم به صورت ترکیبی استفاده و تنکش هم یه خورده از کوکی ها استفاده کنیم دقیقا میشه همون چیزی که اکثر برنامه های تحت وب ازش استفاده میکنند از جمله همین vBulletin
    (تست کنید وارد پنل خود در انجمن شده و بعد از ورود اتصال خود را به اینترنت قطع کرده و دوباره اتصال بیابید میبینید که هنوز انجمن شما رو به عنوان یک کاربر معتبر میشناشه!)
    در کل ما در بالا در حقیقت به مدیریت نقشها به صورت ضمنی پرداخته ایم، اگر چه این کارها شاید طاقت فرسا و سخت جلوه کند اما نتیجه آن بسار دلنشین خواهد بود. در ضمن اصول گفته شده در همه زبانهای برنامه نویسی از دات نت گرفته تا پی اچ پی ، پریل و زبانهای نه چندان شناخته شده دیگه قابل اجراست و تنها فرقشون در تعداد خط کدی که باید فکر کنید و بنویسیده .
    البته بگما در C#.net 2 این کارا تا حد بسیار زیادی از قبل برای استفاده راحت تر شما نوشه شده است که این خود یکی از برتریهای دات نت در قبال زبوهای بی قاعده ای مثل پی اچ پی است که فهماندن یک شی بهش N دقیقه وقت لازمه
    امید وارم فهمیده باشد، هر چند که مطالب ذکر شده خیلی تازه نیستند
    من هیچکدوم از اینایی رو که گفتی قبول ندارم! به نظر من این روشی هایی که گفتی چند صد برابر استفاده از سشن به سرور فشار میاره!
    آخه یک فایل چند بایتی سشن رو کجا میشه با گرفتن کوئری از دیتابیس مقایسه کرد؟!
    برای هیچکدوش دلیل قانع کننده ای نیاوردی شاید اگه با دلیل و مقایسه آمار و ارقام بنویسی منم قانع بشم!
    در ضمن استفاده از مشخصه کاربری در کوئری استرینگ هم مشکل امنیتی داره. اگر هم قرار باشه که انکود بشه خوب بازم بیشتر از سشن وقت سرور رو استفاده میکنه!

  6. 4 کاربر از neopersia بخاطر این مطلب مفید تشکر کرده اند


  7. #16
    داره خودمونی میشه hadi_joulaee's Avatar
    تاريخ عضويت
    Aug 2006
    محل سكونت
    <iostream.h>
    پست ها
    137

    پيش فرض

    حرف neopersia کاملا درسته.
    منم با اون چیزایی که دوستمون تو پست بالا گفت مخالفم.

  8. #17
    داره خودمونی میشه ahmadirad1365's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    تهران
    پست ها
    105

    پيش فرض

    من هیچکدوم از اینایی رو که گفتی قبول ندارم! به نظر من این روشی هایی که گفتی چند صد برابر استفاده از سشن به سرور فشار میاره!
    آخه یک فایل چند بایتی سشن رو کجا میشه با گرفتن کوئری از دیتابیس مقایسه کرد؟!
    برای هیچکدوش دلیل قانع کننده ای نیاوردی شاید اگه با دلیل و مقایسه آمار و ارقام بنویسی منم قانع بشم!
    در ضمن استفاده از مشخصه کاربری در کوئری استرینگ هم مشکل امنیتی داره. اگر هم قرار باشه که انکود بشه خوب بازم بیشتر از سشن وقت سرور رو استفاده میکنه!

    سلام
    دوست من اولا کی گفته که سشن ها خیلی امن هستند . "در ماهیت امنیتیش شکی نیست" اما کلا اینجوری که در این تایپینک داره درباره استفاده کردنش گفته میشه باور کنید هک کردن اون سایت خیلی راحت میشه حال میخاهید باور کنید یا نکنید.
    دوما من این اطلاعاتو بر اساس تجربیات گفته ام و اگر هم دقت کرده باشید گفتم که راهای دیگه ای هم است که اینجا جای بحثش نمیباشد و مطمئن باشید که راهای موجود بسیار بهتر از استفاده مفرط از سشن است.
    سوما بله کوئری گرفتن از دیتابیس یقینا وقت محاسباتی زیادی و میگیره. اما دوست من دیتابیس داریم تا دیتابیس. شما خود میتوانید امتحان کنید و سرعت را در یک دیتابیس با منطق درست که تا مرحله 4nf به انتزائی خالص داده ای رسیده رو بسنجید (همین نورسویس).
    به غیر از آن کی گفته سشنها در حد چند بایت از حافظه رو اشغال میکنند (این ارتباط مستقیم به دادتون داره)
    برای نشان دادن آمار و ارقام هم من چیزی ندارم اما میتونید به سایت msdn ماکروسافت و سایتهای معتبر مرتبط رفته و به کسب اطلاع بپردازید. چون به هر حال ما داریم درباره خار و خاشاک روی آب بحث میکنیم و یقینا برای به دست آوردن دانش ناب باید زحمت کشید.
    اما در کل برای کار این دوستمون همون راهای گفته شده توسط دیگران براشون یقینا ارضاء کننده است.
    در ضمن اون سایتی که اطلاعات کاربری کاربرانشو در دیتابیس کد شده ذخیره نکند یقینا از پی مشکل امنیتی خواهد داشت (گر خشت اول را معمار نهد کج تا سریا دیوار رود کج)

  9. #18
    کاربر فعال انجمن موسیقی David.Jn's Avatar
    تاريخ عضويت
    Jul 2007
    پست ها
    2,070

    پيش فرض

    دوست من اولا کی گفته که سشن ها خیلی امن هستند . "در ماهیت امنیتیش شکی نیست" اما کلا اینجوری که در این تایپینک داره درباره استفاده کردنش گفته میشه باور کنید هک کردن اون سایت خیلی راحت میشه حال میخاهید باور کنید یا نکنید.
    میشه بگیدچه جوری هک میشه؟!
    چون سوال من همینه که با این روشی که من از سشن استفاده کردم چی جوری سایت میتونه هک بشه؟!

    ولی فکر می کنم روشهایی که دوستان گفتن از لحاظ امنیتی مشکل نداشته باشن.
    تا ببینیم بقیه چی میگن.

  10. #19
    حـــــرفـه ای neopersia's Avatar
    تاريخ عضويت
    Oct 2006
    پست ها
    3,580

    پيش فرض

    من میگم اگر در سروری سشنها امنیت نداشته باشن سورس اون سایت هم در امان نیست!
    در مورد سایزشون هم میدونم بستگی داره به حجم اطلاعاتی که توش ذخیره میشه ولی اگر اطلاعات غیر متعارف توش نباشه خیلی کم پیش میاد که به نیم کیلو بایت برسه!

  11. #20
    داره خودمونی میشه ahmadirad1365's Avatar
    تاريخ عضويت
    Sep 2008
    محل سكونت
    تهران
    پست ها
    105

    پيش فرض

    میشه بگیدچه جوری هک میشه؟!
    چون سوال من همینه که با این روشی که من از سشن استفاده کردم چی جوری سایت میتونه هک بشه؟!

    ولی فکر می کنم روشهایی که دوستان گفتن از لحاظ امنیتی مشکل نداشته باشن.
    تا ببینیم بقیه چی میگن.

    از لحاظ امینیتی بدونید این خانه از پی ویران است(روش استفاده)
    درباره طرق هک کردن سشنها(خود سشن نه بلکه دور زدن آن!؟ )اینجا جای بحثش نیست اما به زبان ساده سعی میکنم یکی از ایرادات تابلوی روش استفاده شده شما رو بگم:
    شما 3 تا صفحه دارید یکی برای لوگین ، یکی برای مدیریت و یکی هم برای کاربران و این سه صفحه هم دارای آدرس فیزیکی هستند (یعنی مثلا برای مدیریت توی هاست شما یک صفحه به اسم admin_panel.php ایجاد کرده اید).
    خوب شما در صفحه لوگین میاین مشخصات کاربری رو وارد میکنید بعد اگر اطلاعات درست بود فقط میاید آی دی طرفو توی یه سشن میرزی و نسبت به نقشی که کاربر داره به صفحه مدیریت یا کاربری ارجاش میدی.
    خوب حالا طرف اومد فهمید آدرس صفحه مدیریت x و آدرس صفحه کاربری y است، شما چه جوری میخوای منعش کنی کاربر نیاد صفحه مدیریتو ببینه؟
    شما فقط اومدی آدیشو ریختی توی یه سشن و بعدش گفتی فی امان الله!؟
    برای جلوگیری ازاین کار چاره ای نداری جز اینکه توی هر صفحه بیای به دیتابیست وصل بشی بعد با استفاده از دستور لکت بیای درجه کاربرو بگیری و بفهمی که با با این مدیره یا نه؟
    ویا اینکه توی همون صفحه لوگین درجه کاربری رو هم توی یه سشن دیگه بریزی و توی هر صفحه بیای بگی اگه اطلاعات این سشن مساوی مثلا مدیر بود صفحه مدیرتو نشونش بده در غیر این صورت مثلا از سایت بندازش بیرون.
    خوب. اگه بگی راهای بالا خوبن نسبت به درجه کارت شاید خوب باشن اما بدون مثل این میمونه که بوینگ در اختیار داشته باشی اما پیاده از این شهر به اون شهر بری.
    پس نتیجه میگیریم استفاده ساده از سشنها شاید کا رو پیش ببرد اما واقعا باور کنید هیچ حرفی برای دفاع کرن باقی نیذاره و راحی جز استفاده از روشهایی که در پست قبلی مطرح شد برای یک کار اصولی و تمیز وجود نداره
    درباره این پست به اندازه کافی برای آنکه بفهمد اطلاعات داده شد(دیگه جواب نمیدم)
    Last edited by ahmadirad1365; 15-09-2008 at 02:15.

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •