做個人空間相應的許可權怎麼解決,自己訪問自己的部落格可以修改資料等等,但是別人訪問就只能查看。新手求各位大神給個思路或者解決辦法。
回複內容:
做個人空間相應的許可權怎麼解決,自己訪問自己的部落格可以修改資料等等,但是別人訪問就只能查看。新手求各位大神給個思路或者解決辦法。
你只需要區別訪問者是 【你自己】 還是 【別人】。
那麼最流行的就是使用“密碼登入”了,你的個人空間就是只有一個使用者的segmentfault,其他人都是遊客
參考
PHP驗證登入使用者名稱和密碼
我覺得可以在資料庫中建立管理員表來設定管理員帳號和密碼,在使用者登入驗證介面中判定登入的帳號是不是管理員帳號,如果是,則進入管理員頁面,可以對資料進行修改刪除等操作,如果不是,則進入使用者頁面,沒有相應的操作許可權。
$salt = sha1(uniqid(mt_rand(), true)); //使用者鹽$pwd_db = sha1($salt.sha1($pwd_user)); //資料庫儲存的密碼$pwd_cookie = sha1($global_salt.sha1($pwd_db)); //cookie裡儲存的密碼雜湊,$global_salt是全域鹽,可以在配置config.php裡自訂.$value = base64_encode($user_id.'|'.$pwd_cookie); //組合使用者ID和密碼setcookie($cookie_name, $value); //設定cookie
比如使用者訪問 http://segmentfault.com/user/settings 時:
從使用者發送過來的cookie中取出$user_id,找到$pwd_db,做$pwd_cookie運算,然後跟cookie裡的$pwd_cookie比對,一致則通過驗證.
然後就讀取$user_id的使用者的資訊並在/user/settings(個人空間)裡顯示出來供使用者修改.
個人空間的實現原理其實就是驗證身份後顯示對應身份的內容.
這樣子你就是相當於背景管理員了,只要建立你自己一個賬戶不就行了?
很簡單其實,你在瀏覽器設定一個永久cookie,只有有這個cookie的人才能擁有最高許可權