علیرضا
5 سال پیش توسط علیرضا مطرح شد
10 پاسخ

کار با سشن ها در mvc

سلام خستنه باشید
و ممنون از پاسخوگویی همیشگیتون
من چندتا صفحه به آدرس های زیر دارم
site.ir/admin/meus
site.ir/admin/posts
site.ir/admin/users
هر کدوم ممکنه متد ها و کنترل های جدایی داشته باشند
من باید هر کدوم از متدهاشون جداگانه دستور شرطی بنویسم و سشن چک کنم آیا راهی معقول برای انجام این کار نیست؟
و یه مسئله دیگه من برای راحتی در کدنویسی
بعضی تابع هارو که کار حذف و ویرایش رو دارند رو بصورت static تعریف میکنم میخام بپرسم تو امنیت مشکلی ایجاد نمیکنن؟


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

مراحلی که داری سشن رو چک می‌کنی داخل یه فایل مثلا bootstrap بگذار و در تمام صفحاتی که باید کاربر لاگین بشه ، اون فایل رو require کن. البته این کلیت کار هست و در مدیریت سشن ها بهتره دقت کامل داشته باشید.

کتابخونه های کامل و قدرتمندی برای PHP نوشته شده اند که به خوبی سشن ها رو مدیریت می‌کنند و مشکل امنیتی هم ندارند.. پیشنهاد من اینه که شما هم از این لایبرری‌ها استفاده کنید.

https://github.com/sobstel/sesshin
https://packagist.org/packages/slabphp/session-manager
https://packagist.org/packages/mikecbrant/php-ultimate-sessions

همچنین سشن منیجر لاراول هم جز گزینه‌های بسیار خوبه


علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش مطرح شد
0

@ali.bayat
@Alimotreb
@hesammousavi
سپاسگذار میشم که این سوالمو جواب بدید


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

اول از همه که متد‌های استاتیک بدون نیاز به آبجکت قابل دسترسی هستند. و یک کلاس استاتیک (تنها با توابع استاتیک) مانع از استفاده از بسیاری از ویژگی های OOP مانند وراثت، پیاده سازی اینترفیس می‌شود.

در استفاده از این متد‌ها احتیاط کنید. برای مثال در خود لاراول یه سری هلپرهای مربوط به کلاس Str استاتیک هستند و از اونجایی هم که کارایی‌شون خیلی با امنیت کاری نداره مشکلی نیست


علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش مطرح شد
0

@ali.bayat
سپاس از لطف و محبت شما میشه در مورد سشن ها هم یه راه حل برای بنده پیشنهاد بدید؟
من لاراول کارنمیکنم php mvc دارم کد میزنم


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

مشکلتون رو درباره سشن ها کمی دقیق تر توضیح بدید


علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش مطرح شد
0

@ali.bayat
بزرگوار ببینید
من ده تا صفحه برای پنل مدیریت دارم
مثلا صفحه ی مدیریت منو ها .پست ها و.....
مثلا اینطوری:site.ir/admin/meus
و.......
خب من میخام کاربر مهمان نتونه به این ده تا صفحه دسترسی پیدا کنه و اگر ادرس واد کرد به صفحه ی لاگین منتقل شده
آیا من باید برای هر صفحه جداگانه چک کنم که سشن چک شده یانه یا راه حل بهتری هست ؟


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@paressep28

عمدتا تا جایی که من دیدم ، خیلی از صفهات رو زنجیره وار به هم require میکنند و سشن رو در require اول و جایی که اصلی هست فراخونی میکنن

اینکه بخوایید تو همه صفحات session_start() کنید هم خب راه جالبی نیست!


علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش آپدیت شد
0

@Alimotreb
خب ببینید من چطوری زنجیره وار وصل کنم ؟
خودمم دوست دارم همچین چیزی باشه ولی خب هر روتی در یه کنترلری یه متد اجرا میکنه
و اون مت یه ویو بر میگردونه)
ساختار پروژه من اینطوریه:

------
App->>>>
->Controller
->Model
->views
addroute.php
Core->>>>>
Route.php
Config.php
Controller.php
Model.php
Views.php
public->>>>>
->defult
->admin
.htaccess
index.php
-----------------

بعد من اینطوری میتونم به این روش عمل کنم ؟

$obj->addRoute('/',['user'=>'result@index','namespace'=>'defult',"session"=>false]);

مثلا قبل اینکه کنترلر صدا زده بشه . میگم اگه سشنش false بود چک کنه آیا کاربر سشنش برای ورود به این صفحه ست شده یانه
در غیر این صورت هدایت کنه به صفحه ی لاگین


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

مراحلی که داری سشن رو چک می‌کنی داخل یه فایل مثلا bootstrap بگذار و در تمام صفحاتی که باید کاربر لاگین بشه ، اون فایل رو require کن. البته این کلیت کار هست و در مدیریت سشن ها بهتره دقت کامل داشته باشید.

کتابخونه های کامل و قدرتمندی برای PHP نوشته شده اند که به خوبی سشن ها رو مدیریت می‌کنند و مشکل امنیتی هم ندارند.. پیشنهاد من اینه که شما هم از این لایبرری‌ها استفاده کنید.

https://github.com/sobstel/sesshin
https://packagist.org/packages/slabphp/session-manager
https://packagist.org/packages/mikecbrant/php-ultimate-sessions

همچنین سشن منیجر لاراول هم جز گزینه‌های بسیار خوبه


علیرضا
تخصص : فرانت اند وب
@sep28 5 سال پیش آپدیت شد
0

@ali.bayat
درود بر شما بسیار ممنونم
من میتونم بجای اینکار اینارو تو یه کلاس و یه تابع static چک کنم؟
البته بحث امنیت فقط به سشن ها هم ختم نمیشه
بعد این فایل .bootstrap.phpرو من بار ها دیدم برای چه کارهایی ازشون استفاده میشه؟
بعد من همچین مقاله ای برای افزایش امنیت سشن ها خوندم
https://netparadis.com/php-session-security/
اگه همه کارهارو انجام بدم میتونم در حد متوسط امنیت ورود و خروج رو تعیین کنم؟


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

برای کارهای بوت اولیه معمولا از bootstrap استفاده میشه
بله. در نهایت امنیت قابل دستیابیه


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام