討論區是如何判斷是誰發言的??

edited 十月 2013 in PHP新手區
我把問題解釋清楚,
當我們在討論區發言時(就像我現在在問問題),
其實我們並沒有填使用者的帳號,
只填了標題和內容等等,
但是按了送出之後,

討論區卻知道這主題是誰發布的??
但我並沒用填使用者帳號這選項(只有在登入時有)
是用什麼機制??

我在想是不是cookie,但cookie不是有期限嗎
而且cookie的資料是在client這裡
user可以改...



原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=4378

評論

  • edited 八月 2009
    因為當你登入時,就已經從資料庫把你的唯一識別碼放到session裡了
    那...可不可以用cookie存呢?
    可以是可以,只是會有洩露資訊的風險
    另一方面是,邪惡的javascript有能力存取cookie,有興趣可以找些XSS攻擊的資訊
  • 280280
    edited 八月 2009
    基本上是這樣

    討論區通常都會有一個便利的設計
    就是在一定時間內上線,不需重新登入
    有些是一個星期內,有些是一個月內

    這個時間是使用 cookie 的存在時間做判斷
    cookie 雖然有期限,但如果設定到西元 3000 年
    基本上也算是無限時間

    cookie 一般通常都只用來記錄一些代碼
    而且這些代碼通常也都會編碼
    並不會記錄 帳號 或 密碼 等有關個人資訊或其他資料

    就如你所慮,安全考量

    當程式取得 cookie 的存在與否
    就可得知是誰登入,並做後續的運用

    PS.當每次進入網頁時,cookie 的設定日期也一並更新
    這樣才能一直處於不用再次登入的狀態
Sign In or Register to comment.