Php 如何限制用户编辑URL参数
我正在使用CodeIgniter。当用户编辑URL参数时,我得到一个数据库错误 我怎样才能解决这个问题?在CodeIgniter中,我在URL中传递值32Php 如何限制用户编辑URL参数,php,codeigniter,url-parameters,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() { $thi
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();
}
您不能阻止用户编辑URL。只有在未经授权的情况下,您才能阻止他/她访问资源 至于错误信息:任何用户输入都应该被认为是不可信的,并且应该在使用前进行验证。即使您不希望普通用户更改它
如果发生错误,不要输出系统的错误消息。这些内容仅针对开发人员,而非用户,因为它们可能包含敏感信息。您不能阻止用户编辑URL。只有在未经授权的情况下,您才能阻止他/她访问资源 至于错误信息:任何用户输入都应该被认为是不可信的,并且应该在使用前进行验证。即使您不希望普通用户更改它
如果发生错误,不要输出系统的错误消息。这些信息只针对开发人员,而不是用户,因为它们可能包含敏感信息。您不需要。您也不能限制在客户端的POST表单上传递的值。
检查必须在服务器端完成,并且必须能够处理所有可能的值。您没有。您也不能限制在客户端的POST表单上传递的值。
检查必须在服务器端完成,并且必须能够处理所有可能的值。您可能希望至少进行一些简单的错误处理。解析URL参数的代码是什么样子的?比如32被传递给函数link_details如何捕获这些错误而不是输出它们?我可以想象得到。显示此
link\u detail
功能的代码!基本上,在尝试加载之前,您应该检查ID(从URL传递的参数)是否确实存在于数据库中,或者捕获任何数据库错误。数据库查询在哪里执行?您可能希望至少执行一些简单的错误处理形式。解析URL参数的代码是什么样子的?比如32被传递给函数link_details如何捕获这些错误而不是输出它们?我可以想象得到。显示此link\u detail
功能的代码!基本上,在尝试加载之前,您应该检查ID(从URL传递的参数)是否确实存在于数据库中,或者捕获任何数据库错误。在哪里执行数据库查询?