نقل قول: ذخيره Session در DB به جاي فايل
نقل قول:
نوشته شده توسط
abolfazl-z
اون وقت اگر من سشن های متفاوتی داشته باشم چی ؟
منظورتون رو متوجه نمیشم. شما اگه هزاران سشن هم داشته باشین، PHP خودش اونها رو مدیریت میکنه.
نقل قول:
خوب البته سیستمی که من باهاش کار می کنم یک سیستم کاملا شخصی است و از صفر نوشته شده و شما فقط یکبار اونم بصورت خیلی زیبا آپدیت را انجام میدهید.(تا آخر تابستان اگر بشه میزارم تو گیتهاب)
من این رو نمیتونم قبول کنم که این یک سربار یا روش غیرمعقولی است !
اگه این رو قبول داشته باشین که این کارها رو خود PHP میتونه به روش بهینه تر و اصولی تری مدیریت کنه، اونوقت میتونید بپذیرید که این روش بهرحال یک سربار داره روی کدها میگذاره چون PHP درهرصورت مدیریت سشن خودش رو داره و فقط ما اومدیم گفتیم برای امنیت بیشتر و دراختیار داشتن امکانات بیشتر، بجای فایلها و مسیر پیشفرضش، توی دیتابیس و جدولی که ما میگیم ذخیره کنه.
نقل قول:
باز رفتین حاشیه یا اینکه فکر کنم من منظورم را بد بیان کردم. منظور من در مورد session in dbms با session in file بود.
مشخصه که سرعت Session in File بیشتره ولی امنیت و امکانات و انعطاف پذیری Session in DB و بطور کلی User Session Handling بیشتره.
من بحثی ندارم، این قابلیت رو مطرح کردم. حالا هر کسی اون رو سودمند میدونه میتونه استفاده کنه. هرکی هم معتقده مفید نیست یا به کارش نمیاد، دلیلی نداره استفاده کنه. بهره گیری از امکانات مختلف، یک Option هست. همونطور که توی فریمورکها، این قابلیت وجود داره ولی اجباری یا حتی پیشفرض نیست. نمیدونم چرا دنبال برنده توی بحث هستین.
نقل قول: ذخيره Session در DB به جاي فايل
نقل قول:
منظورتون رو متوجه نمیشم. شما اگه هزاران سشن هم داشته باشین، PHP خودش اونها رو مدیریت میکنه.
منظورم این هست که چند نوع کاربر مختلف آنلاین داشته باشم. اون وقت برای بدست آوردن تعداد آنلاین ها چیکار می کنیم ؟
مثلا سیستم ما قابلیتی داره که با یک session دو نوع کاربر را آنلاین می کند یعنی مثلا یکی کاربر فروشگاه یکی دیگه کاربر انجمن. (برای مثال عرض کردم)
حالا ما می خواهیم تعداد آنلاین بودن کاربران فروشگاه و کاربران انجمن را جدا جدا حساب کنیم. چطوری باید انجام بدهیم ؟ آیا میشود ؟
نقل قول:
من بحثی ندارم، این قابلیت رو مطرح کردم. حالا هر کسی اون رو سودمند میدونه میتونه استفاده کنه. هرکی هم معتقده مفید نیست یا به کارش نمیاد، دلیلی نداره استفاده کنه. بهره گیری از امکانات مختلف، یک Option هست. همونطور که توی فریمورکها، این قابلیت وجود داره ولی اجباری یا حتی پیشفرض نیست. نمیدونم چرا دنبال برنده توی بحث هستین.
مهندس من اصلا قصد جسارت ندارم ولی می خواهم برای سوال هایم جواب های علمی باشد و خیلی دوست دارم با افراد با تجربه ایی چون شما بحث و گفتگو چه کوچیک چه بزرگ داشته باشم.
من روی سیستمی که دارم می سازم(با اون سیستمی اصلی نوشته میشه) یکم حساسم و باید پایه اش خوب ساخته بشه و دارم بحث می کنم که ببینم نظر بالا و پایین چطوریه و چه دیدی دارن شاید بدرد پروژه ام خورد و به بار علمی افزوده شد.
نقل قول:
مشخصه که سرعت Session in File بیشتره ولی امنیت و امکانات و انعطاف پذیری Session in DB و بطور کلی User Session Handling بیشتره.
کاملا باهاتون موافقم اما انعطاف پذیری را میتوانم قبول کنم ولی امنیت را نه.
نقل قول:
اگه Permissionها روی اون هاست به خوبی تنظیم نشده باشه و open_basedir خاموش باشه، اجازه دسترسی به فایلها رو به همه کاربران اون هاست میده (چند مورد از هاستهای ایرانی و خارجی رو دیدم که این مشکل رو داشتن) درحالی که دیتابیس، حداقل یک مرحله امنیت بیشتر (نام کاربری و رمز و نام دیتابیس) داره. فکر نکنید همینکه یک فایل رو بالاتر از public_html قرار دادین یا htaccess. گذاشتین، دیگه امنیت تأمینه. خیلی وقتها حمله از داخل خود هاست انجام میشه (توسط یک نفر دیگه که روی همون هاست اکانت داره).
خوب اگر قرار باشه به فایل دسترسی داشته باشند یعنی فاجعه. دیگه سشن و دیتابیس و ... امنیتشان به صفر می رسد. به عنوان مثال در سی ام اس های وردپرس راحت میتونن فایل wp-config را بخونند و اطلاعات دیتابیس را بدست بیاورند. درواقع همه کاری میتونند انجام بدهند دیگه.
نقل قول: ذخيره Session در DB به جاي فايل
نقل قول:
نوشته شده توسط
abolfazl-z
منظورم این هست که چند نوع کاربر مختلف آنلاین داشته باشم. اون وقت برای بدست آوردن تعداد آنلاین ها چیکار می کنیم ؟
مثلا سیستم ما قابلیتی داره که با یک session دو نوع کاربر را آنلاین می کند یعنی مثلا یکی کاربر فروشگاه یکی دیگه کاربر انجمن. (برای مثال عرض کردم)
حالا ما می خواهیم تعداد آنلاین بودن کاربران فروشگاه و کاربران انجمن را جدا جدا حساب کنیم. چطوری باید انجام بدهیم ؟ آیا میشود ؟
چرا فکر میکنید کاری هست که با سشن عادی میتونید انجام بدین و با این سشن نمیشه؟ اینجا فقط اومدیم محل ذخیره سازی رو عوض کردیم. هر کاری توی پروژه خودتون با سشن خود PHP انجام دادین، اینجا هم میتونید حتی با انعطاف بیشتر انجام بدین. برای مثال، توی سشن کاربران، شناسه خاصی رو ذخیره کنید یا برای متغیرهای سشن اونها، پیشوند جداگانه تعریف کنید و...
نقل قول:
مهندس من اصلا قصد جسارت ندارم ولی می خواهم برای سوال هایم جواب های علمی باشد و خیلی دوست دارم با افراد با تجربه ایی چون شما بحث و گفتگو چه کوچیک چه بزرگ داشته باشم.
من روی سیستمی که دارم می سازم(با اون سیستمی اصلی نوشته میشه) یکم حساسم و باید پایه اش خوب ساخته بشه و دارم بحث می کنم که ببینم نظر بالا و پایین چطوریه و چه دیدی دارن شاید بدرد پروژه ام خورد و به بار علمی افزوده شد.
این خیلی خوبه.
نقل قول:
کاملا باهاتون موافقم اما انعطاف پذیری را میتوانم قبول کنم ولی امنیت را نه.
خوب اگر قرار باشه به فایل دسترسی داشته باشند یعنی فاجعه. دیگه سشن و دیتابیس و ... امنیتشان به صفر می رسد. به عنوان مثال در سی ام اس های وردپرس راحت میتونن فایل wp-config را بخونند و اطلاعات دیتابیس را بدست بیاورند. درواقع همه کاری میتونند انجام بدهند دیگه.
نه دوست عزیز، بحث امنیت فایلها فقط مربوط به کانفیگ کاربران و گروهبندی اونها و مجوزهای دسترسی میشه ولی توی دیتابیس، یکم اوضاع فرق میکنه. معمولاً توی هاستها دسترسی به پوشه tmp که محل پیشفرض ذخیره سشنهاست، برای تمام کاربران فراهم هست و اگه سرور خوب تنظیم نشده باشه، کاربران به تمام فایلهای این پوشه دسترسی دارن ولی این معناش این نیست که به پوشه public_html شما هم دسترسی دارن و میتونن تنظیمات دیتابیس و... رو بخونن.