ark_royal 发表于 2005-4-22 14:35:08

求助。关于php论坛代码安全的问题

这是我在某热门的论坛系统的核心管理页面中复制出来的代码。
其他没有其他相关的验证部分。请问各位高手。。。有没有可能会被实现本地攻击或者跨站攻击的可能。谢谢了。。。。我是一名准备个人建站的菜鸟。拜求各位指教。

本人粗略地看了下。。。觉得完全没有验证的过程,readover是admin登陆页面中声明的一个函数。貌似就是判断了下是否被指定页面调用。
希望我错了。。。各位大哥大姐。。。拜托了。。。。。m__m
!function_exists('readover') && exit('Forbidden');
$basename="admin.php?adminjob=rightset";
if(empty($action)){
        $query=$db->query("SELECT gid,grouptitle AS gptitle FROMpw_usergroups WHERE gptype<>'member' AND (allowadmincp='1' OR gid='3' OR gid='4' OR gid='5')");
        while($group=$db->fetch_array($query)){
                $groupdb[]=$group;
        }
        include PrintEot('rightset');exit;
} elseif($action=='edit'){
        if(!$step){
                require GetLang('left');
                $rightdb=$lang;
                unset($lang);
                $rightselect='';
                $right=$db->get_one("SELECT value FROM pw_adminset WHERE gid='$gid'");
                $right=unserialize($right['value']);
                foreach($rightdb as $key1=>$value1){
                        $rightselect.="<tr bgcolor='$c'><td width=60% colspan=2>$key1</td></tr>";
                        foreach($value1 as $key2=>$value2){
                                ifcheck($right[$key2],$key2);
                                $rightselect.="<tr bgcolor='$b'><td width=60%>$value2</td>
                                <td><input type=radio value=1 ${$key2.'_Y'} name=rightdb[$key2]>$_yes
                                <input type=radio value=0 ${$key2.'_N'} name=rightdb[$key2]>$_no </td></tr>";
                        }
                }
                /*foreach($rightdb as $key=>$value){
                        ifcheck($right[$key],$key);
                        $rightselect.="<tr bgcolor='$b'><td width=60%>$value</td>
                        <td><input type=radio value=1 ${$key.'_Y'} name=rightdb[$key]>$_yes
                        <input type=radio value=0 ${$key.'_N'} name=rightdb[$key]>$_no </td></tr>";
                }*/
                include PrintEot('rightset');exit;
        } else{
                $rightdb=serialize($rightdb);
                $rt=$db->get_one("SELECT gid FROM pw_adminset WHERE gid='$gid'");
                if($rt['gid']){
                        $db->query("UPDATE pw_adminset SET value='$rightdb' WHERE gid='$gid'");
                } else{
                        $db->query("INSERT INTO pw_adminset VALUES('$gid','$rightdb')");
                }
                adminmsg('operate_success');
        }
}

涩兔子 发表于 2005-4-23 09:16:20

权限控制使用请使用phpGACL类库

http://www.mambochina.net/downloads/docs/Mambo451/dev/x862.html
页: [1]
查看完整版本: 求助。关于php论坛代码安全的问题