2010-07-15 44 views
2

道歉,如果我有任何問題的基本錯誤問,這是我的第一篇文章。可以在GET應用程序頁面的GET字符串中放置數據庫的用戶標識嗎?

在php中構建一個簡單的應用程序,其中用戶有權訪問數據庫中具有相應標識的數據庫中的許多不同數據集。目前,我有用戶通過從下拉列表中選擇一組數據來切換他們正在查看的數據集。我的安全知識有點弱,導致我的問題:將數據庫中的實際行ID暴露給外部世界本質上是不好的?

在這種情況下,它會出現在形式:http://www *** app.com/app.php?currentDataSetID=44

感謝輸入(並再次道歉的問題,任何noobesqueness)。 SO岩石。

+0

雖然個人而言,我可能會縮短名稱,而不是'currentDataSetID'。但這就是我:) – Svish 2010-07-15 12:20:55

+0

我的谷歌不喜歡在查詢字符串中包含「id」參數的URL,使用user_id或uid或其他任何東西。 – ivan73 2010-07-15 12:55:15

回答

5

這通常很好。正如你可以在問題URL中看到的,堆棧溢出做同樣的事情!

您需要專注於確保沒有正確權限的人員實際上可以訪問 ID 44即使他們輸入了正確的URL。

+0

太好了 - 感謝您的輸入 – NSTJ 2010-07-15 13:54:13

0

通常用戶訪問數據是基於會話或cookie。會話存儲在服務器端,Cookie存儲在用戶的瀏覽器中。因此,您可以在URL中公開用戶的ID,但請注意,只有擁有適當Cookie的用戶才能訪問其數據。嘗試搜索谷歌的..基於PHP cookie的登錄...

相關問題