2011-03-03 38 views
0

我正在使用CodeIgniter。當用戶編輯URL參數時,我收到數據庫錯誤。如何限制用戶編輯URL參數

我該如何解決這個問題?在笨,我傳遞的URL

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

如果用戶編輯該如下圖所示的值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

您可能想要至少做一些簡單的錯誤處理形式。代碼如何分析URL參數? – slhck 2011-03-03 11:07:05

+0

像32被傳遞到函數link_detail – 2011-03-03 11:13:22

+0

如何捕獲這些錯誤,而不是輸出它們? – Gumbo 2011-03-03 11:19:17

回答

1

你不知道。而且您也無法限制在客戶端上傳遞給POST表單的值。 檢查必須在服務器端完成,並且必須能夠處理所有可能的值。

5

您不能阻止用戶編輯URL。只有在未獲得授權的情況下,您才能阻止他/她訪問資源。

而且至於錯誤消息:任何用戶輸入應被視爲不值得信任,並應在使用前驗證總是。即使你不希望普通用戶改變它。

如果發生錯誤,請不要輸出系統的錯誤消息。這些僅供開發人員使用,但不適用於用戶,因爲它們可能包含敏感信息。

相關問題