user.php中的BUG

2016-07-07 15:47 来源:www.chinab4c.com 作者:ecshop专家

[php]
// 不需要登录的操作或自己验证是否登录(如ajax处理)的act
$not_login_arr =
array('login','act_login','register','act_register','act_edit_password','get_password','send_pwd_email','password', 'signin', 'add_tag', 'collect', 'return_to_cart', 'logout', 'email_list', 'validate_email', 'send_hash_mail', 'order_query', 'is_registered', 'check_email');

/* 显示页面的action列表 */
$ui_arr = array('register', 'login', 'profile', 'order_list', 'order_detail', 'address_list', 'collection_list',
'message_list', 'tag_list', 'get_password', 'reset_password', 'booking_list', 'add_booking', 'account_raply',
'account_deposit', 'account_log', 'account_detail', 'act_account', 'pay', 'default', 'bonus', 'group_buy', 'group_buy_detail', 'affiliate', 'comment_list','validate_email','track_packages', 'transform_points');

/* 未登录处理 */
if (empty($_SESSION['user_id']))
{
if (!in_array($action, $not_login_arr))
{
if (in_array($action, $ui_arr))
{
/* 如果需要登录,并是显示页面的操作,记录当前操作,用于登录后跳转到相应操作 */
if ($action == 'login')
{
if (isset($_REQUEST['back_act']))
{
$back_act = trim($_REQUEST['back_act']);
}
}
else
{
if (!empty($_SERVER['QUERY_STRING']))
{
$back_act = 'user.php?' . $_SERVER['QUERY_STRING'];
}
$action = 'login';
}
}
else
{
//未登录提交数据。非正常途径提交数据!
die($_LANG['require_login']);
}
}
}[/php]当$act =='login' 时,是不可能进入到里面的

回答:
感谢您的提醒 我们会在代码优化的时候做处理

看不懂怎么办啊,应该怎么学