2012-02-15 44 views
-1

我已經閱讀了codeigniter站點上的路由頁面,並且我仍然不確定如何去做這件事。CodeIgniter - 尋找一些使用路線的幫助

例如,在我的應用程序查看私人消息,該網址是www.example.com/messages/view/1 ... 1是消息ID。

我真的想改變這只是爲了www.example.com/messages/view,因爲我覺得有在網址中的消息ID將允許用戶操縱網址查看任何私人信息一個網站。

任何幫助將不勝感激。

乾杯

+6

如果您不想讓任何人閱讀郵件,請執行授權。 「通過默默無聞的安全」永遠不會起作用。 – 2012-02-15 09:14:25

+0

如果您沒有ID,您將如何知道顯示哪條消息?只需編寫一些代碼,以確保用戶只能閱讀他們自己的消息,而不是從URL中隱藏ID。 – Mischa 2012-02-15 09:18:26

回答

0

如果您不想在URL中的ID,那麼唯一的辦法是通過一種形式來發布。

這是非常沒有意義的,但ID會以這種或那種方式可見。

相反,您應該專注於從ID加載消息的頁面進行驗證。在該頁面上檢查消息ID是否存在,並檢查用戶是否有權訪問該消息,如果沒有則顯示錯誤。

這是一個更好的方法。

+0

啊,好吧,這讓我更感覺到我在看什麼,謝謝 – BigJobbies 2012-02-15 09:21:23

0

你需要從基地控制這個。當您準備顯示信息時 - 查看地址用戶。如果它像會話中的userid - 顯示消息,否則死('拒絕訪問');.

或者以這種方式從基地獲取消息:「從ID = $ id和userto = $ user的消息中選擇*」。並從會話數據中獲取$ user變量。 ($ user = $ this-> session-> userdata('userid');)如果你有它。如果當前用戶不是地址用戶 - 他不能接收消息。