request = is_null($request) ? Request::instance() : $request; // 控制器初始化 $this->_initialize(); // 前置操作方法 if ($this->beforeActionList) { foreach ($this->beforeActionList as $method => $options) { is_numeric($method) ? $this->beforeAction($options) : $this->beforeAction($method, $options); } } } protected $needUrlLock = []; protected function setUrlLock($url_key="",$url_suffix="",$model=null){ if(($this->request->isPost() || (!empty($this->needUrlLock) && in_array($this->request->action(),$this->needUrlLock))) && (!empty($this->model) || $model)){ $user_id = 0; $user = $this->auth->getUser();//登录用户 if($user)$user_id = $user['id']; $modulename = $this->request->module(); $controllername = Loader::parseName($this->request->controller()); $actionname = strtolower($this->request->action()); $path = $modulename . '/' . str_replace('.', '/', $controllername) . '/' . $actionname; if(!$model){ $this->model::$url_lock_key = $url_key ?: $user_id; $this->model::$url_lock_suffix = $url_suffix ?: $path."lock-suffix"; $this->model::$url_lock = true; }else{ $model::$url_lock_key = $url_key ?: $user_id; $model::$url_lock_suffix = $url_suffix ?: $path."lock-suffix"; $model::$url_lock = true; } } } /** * 初始化操作 * @access protected */ protected function _initialize() { //跨域请求检测 check_cors_request(); // 检测IP是否允许 check_ip_allowed(); //移除HTML标签 $this->request->filter('trim,strip_tags,htmlspecialchars'); } }