Как запретить пользователю изменять / удалять другие данные пользователя

Я создаю многопользовательское приложение. Создан с использованием php codeigniter. И я ищу лучший способ или лучший способ предотвратить изменение / удаление других данных пользователя.

У меня есть несколько реляционных таблиц.

  1. tbl_users (user_id, user_name, пароль)
  2. tbl_stores (store_id, user_id, store_name, store_url)
  3. tbs_products (product_id, store_id, product_name)

У каждого пользователя есть свой магазин, и в каждом магазине может быть много товаров.

Итак, что является лучшим способом, чтобы предотвратить удаление пользователем других данных пользователя?

Я на самом деле создал некоторый код в модели, но так как я новичок, я не уверен, что если это правильный путь, мой код такой.

function remove_product($product_id)
{
    $this->db->from('products as p');
    $this->db->join('stores as s', 's.id = p.store_id');
    $this->db->where('p.id', $product_id);
    $this->db->where('s.user_id', $this->session->userdata('id'));

    if($this->db->count_all_results())
    {
        $this->db->where('id', $product_id);
        return $this->db->delete($this->table);
    }
}

Пожалуйста, сообщите, если этот подход правильный или нет, или есть лучший способ сделать это.

С уважением

1 ответ

Перед удалением чего-либо проверьте, совпадает ли владелец с пользователем сеанса.

Другие вопросы по тегам