我正在使用CodeIgniter。当用户编辑URL参数时,我收到数据库错误。
我该如何解决这个问题?在CodeIgniter中,我传递了URL
中的值32http://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();
}
答案 0 :(得分:5)
您无法阻止用户编辑网址。如果他/她未获得授权,您只能阻止他/她有权访问该资源。
至于错误消息:任何用户输入都应被视为不值得信任,并且在使用前应始终进行验证。即使你不希望普通用户改变它。
如果发生错误,请不要输出系统的错误消息。这些仅适用于开发人员,但不适用于用户,因为它们可能包含敏感信息。
答案 1 :(得分:1)
你没有。并且您也不能限制在客户端的POST表单上传递的值。 检查必须在服务器端完成,并且必须能够处理所有可能的值。