DelDard
شنبه 16 بهمن 1395, 17:07 عصر
سلام دوستان
فرض کنید ما فایلی داریم به اسم controlPanel.php به عنوان فایل اصلی ما که همه چی توش include میشه که جایی از اون ما فایل deleteMember.php رو include کردیم . خب ما اول فایل controlPanel لاگین بودن و همه دسترسی هارو با تابعی مثلا به نامه is_login چک میکنیم. بعد وقتی ادمین فلان کاربر رو انتخاب کرد و گزینه "حذف" رو زد اطلاعات دوباره به همین controlPanel ارسال میشه و فایل deleteMember که اینکلود شده اون رو حذف میکنه.
حالا اگه هکر فهید که فایل deleteMember داره کار حذف کاربر رو انجام میده مستقیم اطلاعات رو برای این فایل فرستاد چی؟ میتونه بی اجازه همه رو حذف کنه.
فرض کنید ما نمخایم تابع is_login رو بالای همه فایل های اینکلود شده اضافه کنیم و فقط اون رو تو فایل اصلی (controlPanel) داریم . حالا سوال. چطور کاری کنیم که فایل deleteMember فقط وقتی اینکلود شد اجرا شه؟
یا اصلا بیاید فرض سوال رو عوض کنیم. (ببخشید عملا شد دو تا سوال)
فرض کنید ما اطلاعات فرم حذف کاربر تو controlPanel ر با AJAX فرستادیم مستقیمن به فایل deleteMember بعد جوابش رو برگردوندیم به controlPanel برای نمایش . برای چک کردن دسترسی هم تابع is_login رو بالای deleteMember قرار دادیم. حالا چی؟
وقتی فایل deleteMember اصلا تو مرورگر کاربر سایت لود نشده چطور باید سشن ها رو بخونه؟ یعنی منظورم اینه که چطور باید is_login کار کنه وقتی اصلا از سمت مرورگر فراخانی نشده بلکه یه سری دیتا با POST براش ارسال شده؟
ببخشید نمونه کد نزاشتم چون هنوز چیزی ننوشتم و هنوز دارم فکر میکنم که روند کار چی باشه :/ اینکلود کنم نکنم؟ is_login کار میکنه نمیکنه؟ دارم گیج میزنم. لطفا راهنمایی کنید دوستان شما که با تجربه ترید.
ممنون از وقتی که گذاشتید
فرض کنید ما فایلی داریم به اسم controlPanel.php به عنوان فایل اصلی ما که همه چی توش include میشه که جایی از اون ما فایل deleteMember.php رو include کردیم . خب ما اول فایل controlPanel لاگین بودن و همه دسترسی هارو با تابعی مثلا به نامه is_login چک میکنیم. بعد وقتی ادمین فلان کاربر رو انتخاب کرد و گزینه "حذف" رو زد اطلاعات دوباره به همین controlPanel ارسال میشه و فایل deleteMember که اینکلود شده اون رو حذف میکنه.
حالا اگه هکر فهید که فایل deleteMember داره کار حذف کاربر رو انجام میده مستقیم اطلاعات رو برای این فایل فرستاد چی؟ میتونه بی اجازه همه رو حذف کنه.
فرض کنید ما نمخایم تابع is_login رو بالای همه فایل های اینکلود شده اضافه کنیم و فقط اون رو تو فایل اصلی (controlPanel) داریم . حالا سوال. چطور کاری کنیم که فایل deleteMember فقط وقتی اینکلود شد اجرا شه؟
یا اصلا بیاید فرض سوال رو عوض کنیم. (ببخشید عملا شد دو تا سوال)
فرض کنید ما اطلاعات فرم حذف کاربر تو controlPanel ر با AJAX فرستادیم مستقیمن به فایل deleteMember بعد جوابش رو برگردوندیم به controlPanel برای نمایش . برای چک کردن دسترسی هم تابع is_login رو بالای deleteMember قرار دادیم. حالا چی؟
وقتی فایل deleteMember اصلا تو مرورگر کاربر سایت لود نشده چطور باید سشن ها رو بخونه؟ یعنی منظورم اینه که چطور باید is_login کار کنه وقتی اصلا از سمت مرورگر فراخانی نشده بلکه یه سری دیتا با POST براش ارسال شده؟
ببخشید نمونه کد نزاشتم چون هنوز چیزی ننوشتم و هنوز دارم فکر میکنم که روند کار چی باشه :/ اینکلود کنم نکنم؟ is_login کار میکنه نمیکنه؟ دارم گیج میزنم. لطفا راهنمایی کنید دوستان شما که با تجربه ترید.
ممنون از وقتی که گذاشتید