shell bypass 403
<?php namespace Modules\RolePermission\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Routing\Controller; use Illuminate\Support\Facades\DB; use Brian2694\Toastr\Facades\Toastr; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Cache; use Illuminate\Support\Facades\Validator; use Modules\RolePermission\Entities\Role; use Modules\RolePermission\Entities\Permission; use Modules\SidebarManager\Entities\PermissionSection; class PermissionController extends Controller { public function __construct() { // $this->middleware(['auth:admin', 'permission']); } public function index(Request $request) { $role_id = $request['id']; if ($role_id == null || $role_id == 1) { return redirect(route('permission.roles.index')); } if ($role_id == 3) { $backend = 0; } else { $backend = 1; } $query = Permission::where('status', 1)->where('backend', $backend); if (!showEcommerce()) { $query->where('ecommerce', '!=', 1); } $PermissionList = $query->get(); $role = Role::with('permissions')->find($role_id); $data['role'] = $role; $query = PermissionSection::query(); if (!showEcommerce()) { $query->where('ecommerce', '!=', 1); } $data['sections'] = $query->with('permissions')->orderBy('position')->get(); $data['permissions'] = Permission::orderBy('position', 'asc')->get(); // $mainManuIgnore = []; // if (!isModuleActive('Calender')) { // $mainManuIgnore[] = 'calendar_show'; // } // if (!isModuleActive('Communicate')) { // $mainManuIgnore[] = 'communicate'; // } // // if (!isModuleActive('Communicate')) { // $mainManuIgnore[] = 'communicate'; // } // if (!isModuleActive('Homework')) { // $mainManuIgnore[] = 'homework_list'; // } // $data['MainMenuList'] = $PermissionList->where('type', 1)// ->whereNotIn('route', $mainManuIgnore) // ; // $data['SubMenuList'] = $PermissionList->where('type', 2); // $data['ActionList'] = $PermissionList->where('type', 3); // $data['PermissionList'] = $PermissionList; return view('rolepermission::permission', $data); } public function store(Request $request) { $validator = Validator::make($request->all(), [ 'role_id' => "required", 'module_id' => "required|array" ]); if ($validator->fails()) { Toastr::error('Please Select Minimum one Permission', 'Failed'); return redirect()->back(); } try { $array = array_unique($request->module_id); $module_array = []; foreach ($array as $key => $value) { $module_array[$key]['permission_id'] = $value; $module_array[$key]['lms_id'] = Auth::user()->lms_id; } DB::beginTransaction(); $role = Role::findOrFail($request->role_id); $role->permissions()->wherePivot('lms_id', Auth::user()->lms_id)->detach(); $role->permissions()->attach($module_array); DB::commit(); Cache::forget('PermissionList_' . SaasDomain()); Cache::forget('RoleList_' . SaasDomain()); Toastr::success(trans('common.Operation successful'), trans('common.Success')); return redirect()->back(); } catch (\Exception $e) { DB::rollback(); GettingError($e->getMessage(), url()->current(), request()->ip(), request()->userAgent()); } } }