2011-09-15 96 views
1

我必須具備下列URL用戶個人資料頁面訪問用戶的個人資料頁:www.XXXXXXX.com/userid/45防止用戶ID

是有辦法阻止訪問其他網頁,當用戶變化/用戶名/ 45 /用戶名/ 47

+0

需要途徑更多信息:對於初學者您使用哪種語言? – PeeHaa

+0

正在使用php和zend框架 – Inducesmile

回答

0

根據您所使用的語言,像這樣的用戶個人資料頁上:

if url_segment(2) != user_info['userid'] 
    render no_permission 
end 
0

你可能想看看Zend_Acl裏。

http://framework.zend.com/manual/en/zend.acl.introduction.html

這將允許你來控制訪問基於發出請求的角色分配權限的某些資源(例如配置文件)。你也可以用斷言指定更細粒度的訪問。

因此,例如,您指定了一個'已註冊'角色,用於在您的網站註冊的用戶,他們也有一個配置文件頁面。您的規則可能會這樣讀取: -

'registered'可以'顯示''profile''如果是他們的個人資料'。

角色: '註冊'

特權: '顯示'

資源: '曲線'

斷言:代碼檢查所有權

0

我在WordPress尋找這和只有在發佈我的回答後,我甚至意識到你正在詢問除wordpress以外的其他東西......哦,對於犯同樣錯誤的人,這裏是同樣的事情,但對於wordpress:

您可以通過將==更改爲!=並僅輸入管理員標識(通常爲「1」)來修改此選項,以使其重定向所有用戶而不是一個用戶。

add_action('admin_init', 'redirect_to_forum'); 
function redirect_to_forum(){ 
    $current_user=wp_get_current_user(); 

    if($current_user->user_id == "47"){ 
     header('Location: http://somewhereelse.com'); 
    } 
}