Этот сайт недоступен, если в системе зарегистрировано более 10 пользователей

#php #apache #.htaccess #codeigniter-3 #mod-security

#php #apache #.htaccess #codeigniter-3 #мод-безопасность

Вопрос:

Я работаю над небольшим проектом, в котором пользователи могут входить в систему, используя свои собственные регистрационные данные. У каждого пользователя разные имя пользователя и пароль. У меня есть веб-страница, которая находится на CodeIgniter. Я использую приведенный ниже код для входа пользователя.

Контроллер

 public function index()
  {
   $this->checkLogin();
  }

public function checkLogin(){
  if(!$this->session->userdata('login_session'))
    {
     $this->form_validation->set_error_delimiters('<div class="error">', '</div>');
     $this->form_validation->set_rules('crmid', 'CRM id', 'trim|required|min_length[6]');
     $this->form_validation->set_rules('password', 'Password', 'trim|required');

     if ($this->form_validation->run() == FALSE)
       {
        $this->load->view('login');
       }
      else
        {
        $crmid = strtoupper($this->input->post('crmid'));
        $password = $this->input->post('password');
        $result=$this->Access_model->check_password($crmid,$password);//varifying password

        if ($result) {
        //creating session
        $login_emp_session = array('id' => $result->id,'crmid'  =>$result->crm_id,'firstname' => $result->firstname,'lastname' => $result->lastname,'access_role' => $result->access_role,'password_change_status' => $result->password_change_status);
        $this->session->set_userdata('login_session',$login_emp_session);//set the session   

             if ($result->password_change_status == 0) {
                 redirect("Access_control/changepassword");//calling change password
                }
            else{
              redirect("Dashboard_control/dashboard");//calling dashboard
                }
       }
  else{
      $this->session->set_flashdata('invalid_password', 'Invalid username and password');
      $this->load->view('login');
     }

 }
     }
     else
        {
        if ($this->session->userdata['login_session']['password_change_status'] == 0) {
             $this->session->sess_destroy();
             $this->load->view('login');

            }
         else{
          redirect("Dashboard_control/dashboard");//calling employee register
        }
        }

        }
  

Если в систему входит один пользователь или 2-3 пользователя, тогда все работает отлично, но пользователи регистрируются в более чем 10 системах с общедоступным IP (который является общим IP), и через 10-25 минут я получаю сообщение This site can't be reached .

Поэтому я связался с командой Hostgator, они сказали, что проблем с вашим IP-адресом нет, пожалуйста, проверьте свой код еще раз. Существует некоторая проблема с ModSecurity, и мы не можем ее включить.

 ModSecurity: Access denied with code 409 (phase 1)
  

Правильно ли мой логин в коде?
не могли бы вы помочь мне в этом вопросе?

Это журналы, которые я получил от hostgator.

 [Tue Apr 09 17:12:51.564509 2019] [:error] [pid 947073:tid 140357593020160] [client *.*.*.*:0] [client *.*.*.*] ModSecurity: Warning. Operator GE matched 5 at TX:inbound_anomaly_score. [file "/etc/apache2/conf.d/modsec_vendor_configs/OWASP3/rules/RESPONSE-980-CORRELATION.conf"] [line "37"] [id "980130"] [msg "Inbound Anomaly Score Exceeded (Total Inbound Score: 10 - SQLI=0,XSS=0,RFI=0,LFI=10,RCE=0,PHPI=0,HTTP=0,SESS=0): Path Traversal Attack (/../)"] [tag "event-correlation"] [hostname "abc.mydomain.com"] [uri "/errors/404_Forbidden_php.php"] [unique_id "XKzSkDANRUc4aj6DxXxtsQAAAmk"], referer: http://abc.mydomain.com/Access_control/index
  

Комментарии:

1. кто-нибудь может мне помочь с этой проблемой? или есть идеи?

2. Похоже, что в Hostgator установлено ограничение скорости в ModSecurity. Они должны предоставить вам более подробную информацию об ошибке ModSecurity и о том, как ее устранить.

3. @BarryPollard, они говорят мне изменить код. Я не понимаю, в чем проблема с моим кодом.

4. Они ошибаются. Или, по крайней мере, я не понимаю, почему они были бы правы, пока они не предоставят больше информации.

5. @BarryPollard, я обновил журналы в вопросе.