利用session和cookie實(shí)現(xiàn),
在佛坪等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),網(wǎng)絡(luò)營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),佛坪網(wǎng)站建設(shè)費(fèi)用合理。
session是保存在服務(wù)器的會(huì)話記錄,當(dāng)管理員登陸后,對(duì)于每個(gè)管理操作,都有一段PHP代碼用于檢查session中的用戶是否管理員身份,是則允許管理操作;
cookie是保存在瀏覽器的登陸數(shù)據(jù),譬如登陸之后瀏覽器存下了用戶名和登陸密碼,每次與服務(wù)器的會(huì)話都向服務(wù)器發(fā)送cookie的數(shù)據(jù),此過程中PHP提取cookie里的用戶名和密碼信息進(jìn)行校驗(yàn),通過后允許管理操作。
數(shù)據(jù)庫加一個(gè)字段,用于存權(quán)限等級(jí)。讀取文件時(shí)先判斷權(quán)限是否夠。
adminconfig.php 這是后臺(tái)系統(tǒng)中所有文件權(quán)限配置。
fun.php 這是一個(gè)功能函數(shù)
left.php 網(wǎng)站后臺(tái)根據(jù)用戶登錄的ID來加載相對(duì)應(yīng)的功能菜單
op.php 調(diào)用adminconfig.php 默認(rèn)權(quán)限文件
opsava.php 保存用戶權(quán)限成一個(gè)php文件
好了我們先來看看 fun.php文件吧。
. 代碼如下:
?
function findsub($keys ,$userid='abc' ) //此函數(shù)重要就是為了調(diào)用用戶的權(quán)限信息
{
include('user/'.$userid.'.php');
foreach($bb as $key=$submenu)
{
foreach($submenu as $subkey=$menuitem)
{
if( $subkey == $keys )
{
return 1;
}
}
}
}
//下面為生成用戶的php權(quán)限文件
//寫入
function cache_write($name, $var, $values) {
$cachefile = 'op/'.$name.'.php';
$cachetext = "?phprn".'$'.$var.'='.arrayeval($values)."rn?";
if(!swritefile($cachefile, $cachetext))
{
exit("File: $cachefile write error.");
}
}
//數(shù)組轉(zhuǎn)換成字串
function arrayeval($array, $level = 0) {
$space = '';
for($i = 0; $i = $level; $i++) {
$space .= "t";
}
$evaluate = "Arrayn$space(n";
$comma = $space;
foreach($array as $key = $val) {
$key = is_string($key) ? '''.addcslashes($key, ''\').''' : $key;
$val = !is_array($val) (!preg_match("/^-?d+$/", $val) || strlen($val) 12) ? '''.addcslashes($val, ''\').''' : $val;
if(is_array($val)) {
$evaluate .= "$comma$key = ".arrayeval($val, $level + 1);
} else {
$evaluate .= "$comma$key = $val";
}
$comma = ",n$space";
}
$evaluate .= "n$space)";
return $evaluate;
}
//寫入文件
function swritefile($filename, $writetext, $openmod='w') {
if(@$fp = fopen($filename, $openmod)) {
flock($fp, 2);
fwrite($fp, $writetext);
fclose($fp);
return true;
} else {
exit("File: $filename write error.");
return false;
}
}
?
adminconfig.php 后臺(tái)權(quán)限配置文件,以一個(gè)數(shù)組形式保存
. 代碼如下:
?
$menus = array(
'news' = array(
'caption'='資訊管理',
'icon'='admin/icon_15.gif',
'sub' = array(
'newsaddtype' = array('caption' = '分類增加', 'url' = 'news/addtype.php'),
'newstypemange' = array('caption' = '分類管理', 'url' = 'news/typemange.php'),
'newsnewsend' = array('caption' = '發(fā)布資訊', 'url' = 'news/newsend.php'),
'newsnewmange' = array('caption' = '資訊管理', 'url' = 'news/newmange.php'),
'newscomments' = array('caption' = '評(píng)論管理', 'url' = 'news/comments.php'),
),
),
'ask' = array(
'caption'='問卷調(diào)查',
'icon'='admin/icon_15.gif',
'sub' = array(
'voteadmin_subject_add' = array('caption' = '添加投票主題', 'url' = 'vote/admin_subject_add.php'),
'voteadmin_subject' = array('caption' = '管理投票主題', 'url' = 'vote/admin_subject.php'),
'voteadmin_title_add' = array('caption' = '添加投票問題', 'url' = 'vote/admin_title_add.php'),
'voteadmin_title' = array('caption' = '管理投票問題', 'url' = 'vote/admin_title.php'),
'voteadmin_question_add' = array('caption' = '添加投票答案', 'url' = 'vote/admin_question_add.php'),
'voteadmin_question' = array('caption' = '管理投票答案', 'url' = 'vote/admin_question.php'),
'voteadmin_system' = array('caption' = '投票初始配置', 'url' = 'vote/admin_system.php')
),
),
'ads' = array(
'caption'='廣告管理',
'icon'='admin/icon_15.gif',
'sub' = array(
'ada' = array('caption' = '增加廣告', 'url' = 'ada.php'),
'adm' = array('caption' = '廣告管理', 'url' = 'adm.php'),
'flashadd' = array('caption' = '焦點(diǎn)圖廣告增加', 'url' = 'flashadd.php'),
'flashad' = array('caption' = '焦點(diǎn)圖廣告管理', 'url' = 'flashad.php')
),
),
'mange' = array(
'caption'='系統(tǒng)管理員',
'icon'='admin/icon_15.gif',
'sub' = array(
'adminuser' = array('caption' = '管理員添加', 'url' = 'adminuser.php'),
'modpass' = array('caption' = '密碼修改', 'url' = 'modpass.php')
),
),
);
?
left.php文件很簡單就是根據(jù)用戶登錄后ID讀出權(quán)限
. 代碼如下:
?
$userid = $_SESSION['adminid'];
include("op/admincofig.php");
include("op/ /".$userid.".php");
foreach($bb as $key=$submenu)
{
echo "trtd bgcolor="#D879A7" style="line-height:22px;text-align:center;color:#ffffff;" nr font color="#EA6A8D" face="Webdings"/fontb".$menus[$key]['caption']."/bbr //td/tr nr tr td bgcolor="F5E8F1"";
foreach($submenu as $subkey=$menuitem)
{
$tmparr = explode("|",$menuitem);
echo "font color="#EA6A8D" face="Webdings"4/fonta href='".$tmparr[1]."' target="mainframe"".$tmparr[0]."/abr nr";
}
echo "/td/tr nr ";
}
op.php這個(gè)文件就是要調(diào)用我們的adminconfig.php文件,然后利用fun.php文件中函數(shù)把提供過來的數(shù)據(jù)保存成數(shù)組如圖
點(diǎn)擊保存我們調(diào)用了opsava.php 文件,代碼如下
. 代碼如下:
?
include("op/fun.php");
if( $_POST )
{
$sarray = $_POST ;
cache_write($userid,'bb',$sarray);//寫入緩存
echo "scriptalert('編輯保存成功!');location='op.php?userid=".$userid."';/script";
}
?
保存成功后文件內(nèi)容如
. 代碼如下:
?php
$bb=Array
(
'member' = Array
(
'user_search' = '會(huì)員升級(jí)管理|user_search.php'
),
'membercy' = Array
(
'cyuser_search' = '會(huì)員升級(jí)管理|cyuser_search.php',
'cyuser_search5' = '交友會(huì)員|cyuser_search.php?grade=5'
),
'userid' = 7,
'button' = '保存編輯'
)
?
這樣的話我們的left只要加載 7.php文件就只會(huì)顯示這里在的文件,這樣一個(gè)基本的后臺(tái)權(quán)限就完成了。
數(shù)據(jù)庫不能執(zhí)行,和文件權(quán)限沒有關(guān)系,你應(yīng)該檢查一下數(shù)據(jù)庫服務(wù)器是否允許訪問,這個(gè)網(wǎng)上很多我就不敘述了。
如果是需要在WEB服務(wù)器執(zhí)行本地操作,那你需要給這些文件增加權(quán)限,并不需要所有的都增加,比如我的網(wǎng)站,所有的文件操作都用一個(gè)類,所以我只需要把這一個(gè)文件設(shè)置為777就可以,其他的PHP文件調(diào)用即可完成操作
一、用PhpMyAdmin新建一個(gè)MySQL用戶.
1,用root登陸phpmyadmin
2,點(diǎn)權(quán)限
3,點(diǎn)創(chuàng)建一個(gè)用戶
4,選擇所有權(quán)限
執(zhí)行
二、使用可視化操作軟件,如phpmyadmin,mysqlcc等。
或者用命令行Create Database 數(shù)據(jù)庫名
三、for example
創(chuàng)建用戶vap,并分配權(quán)限:對(duì)數(shù)據(jù)庫vap的所有表可以從所有機(jī)器(第一句)和本地機(jī)器(第二局)進(jìn)行訪問,并擁有任意權(quán)限,密碼為vap
grant all privileges on vap.* to 'vap'@'%' identified by 'vap';
grant all privileges on vap.* to 'vap'@'localhost' identified by 'vap';
網(wǎng)站題目:php中導(dǎo)出的數(shù)據(jù)加權(quán)限 php中導(dǎo)出的數(shù)據(jù)加權(quán)限是什么
轉(zhuǎn)載源于:http://jinyejixie.com/article42/dodoeec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、自適應(yīng)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、云服務(wù)器、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)