Как запретить пользователю редактировать параметр URL - PullRequest
0 голосов
/ 03 марта 2011

Я использую CodeIgniter.Когда пользователь редактирует параметр URL, я получаю ошибку базы данных.

Как я могу решить эту проблему?В CodeIgniter я передаю значение 32 в URL-адресе

http://xyz.com/esebd2/user/link/link_detail/32

Если пользователь редактирует это, как показано ниже,

http://xyz.com/esebd2/user/link/link_detail/323434

Я получаю ошибку базы данных.Что делать?

function link_detail()

    {

        $this->common_head();
        $lid = $this->uri->segment(4);
        $link_data['link_detail'] = $this->linklist->get_detail_link($lid);
            //above line to retrive value from database
        $this->load->view('user/detaillink_view', $link_data);
        $this->common_footer();

    }

Ответы [ 2 ]

5 голосов
/ 03 марта 2011

Вы не можете запретить пользователю редактировать URL.Вы можете запретить ему / ей доступ к ресурсу только в том случае, если он / она не авторизован.

А что касается сообщения об ошибке: любой пользовательский ввод должен рассматриваться как ненадежный и должен всегда быть проверенным перед использованием.Даже если вы не ожидаете, что обычный пользователь изменит его.

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

1 голос
/ 03 марта 2011

Ты не. И вы не можете ограничивать значения, передаваемые в формах POST, на стороне клиента. Проверки должны выполняться на стороне сервера и должны иметь возможность обрабатывать все возможные значения.

...