如何限制用户编辑URL参数

时间:2011-03-03 10:56:09

标签: php codeigniter url-parameters

我正在使用CodeIgniter。当用户编辑URL参数时,我收到数据库错误。

我该如何解决这个问题?在CodeIgniter中,我传递了URL

中的值32
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 个答案:

答案 0 :(得分:5)

您无法阻止用户编辑网址。如果他/她未获得授权,您只能阻止他/她有权访问该资源。

至于错误消息:任何用户输入都应被视为不值得信任,并且在使用前应始终进行验证。即使你不希望普通用户改变它。

如果发生错误,请不要输出系统的错误消息。这些仅适用于开发人员,但不适用于用户,因为它们可能包含敏感信息。

答案 1 :(得分:1)

你没有。并且您也不能限制在客户端的POST表单上传递的值。 检查必须在服务器端完成,并且必须能够处理所有可能的值。