程序升级触发阿里云自身安全机制导致的莫名问题

简介:

 最近对放在阿里云的程序作了升级,但在升级的时候却出现了一个莫名其妙的问题,导致整个应用无法使用。这是一个ecshop的程序,程序升级完以后出现莫名其妙的语法错误。然而程序本地测试并无问题。

  报错异常

Parse error: syntax error, unexpected T_IF in /www/web/includes/lib_main.php on line 1

  用securecrt登陆进去,set number居然报错。没辙,将文件栽下来,查看了下lib_main.php

复制代码
<?php/** * ECSHOP 前台公用函数库 * ============================================================================ * 版权所有 2005-2010 上海商派网络科技有限公司,并保留所有权利。 * 网站地址: http://www.ecshop.com; * ---------------------------------------------------------------------------- * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和 * 使用;不允许对程序代码以任何形式任何目的的再发布。 * ============================================================================ * $Author: liuhui $ * $Id: lib_main.php 17063 2010-03-25 06:35:46Z liuhui $*/if (!defined('IN_ECS')){    die('Hacking attempt');}/** *  * 给用户分配业务员 * @access public * @param int user_id 用户id * @return void *  */function assgin_user($user_id = 0){    if (0 == intval($user_id))    {        return false;    }        $sql = "SELECT seller FROM ".$GLOBALS['ecs']->table('users'). " AS u WHERE u.user_id = '$user_id'";    $seller_id = $GLOBALS['db']->getOne($sql);        if(0 !== intval($seller_id)){        return false;//用户已分配    }        $sql_admin = "SELECT user_id, cur_assign FROM "                 .$GLOBALS['ecs']->table('admin_user').                 " WHERE if_assign = 1 ORDER BY user_id ASC";    $all_seller = $GLOBALS['db']->getAll($sql_admin);        $cur_seller = 0;//当前分配业务员id    $last_seller = 0;//上次分配业务员id    $cnt_seller = count($all_seller);    for($i = 0; $i < $cnt_seller; $i++){        if(1 == $all_seller[$i]['cur_assign']){            $last_seller = $all_seller[$i]['user_id'];            $assign_key = ($i == $cnt_seller - 1) ? 0 : $i + 1;//获取下一个未分配的客户id            $cur_seller = $all_seller[$assign_key]['user_id'];            break;        }    }        //未分配成功时从第一个开始分配    if(0 == $cur_seller && $cnt_seller > 0){        $cur_seller = $all_seller[0]['user_id'];    }        //更新用户隶属于的业务员    $sql = "UPDATE " . $GLOBALS['ecs']->table('users') . " SET seller='$cur_seller' WHERE user_id='$user_id'";    $GLOBALS['db']->query($sql);        //更新当前分配的业务员    $sql = "UPDATE " . $GLOBALS['ecs']->table('admin_user') . " SET cur_assign=1 WHERE user_id='$cur_seller'";    $GLOBALS['db']->query($sql);        //更新上次分配的业务员    $sql = "UPDATE " . $GLOBALS['ecs']->table('admin_user') . " SET cur_assign=0 WHERE user_id='$last_seller'";    $GLOBALS['db']->query($sql);        return true;}/** * 更新用户SESSION,COOKIE及登录时间、登录次数。 * * @access  public * @return  void */function update_user_info(){    if (!$_SESSION['user_id'])    {        return false;    }    /* 查询会员信息 */    $time = date('Y-m-d');    $sql = 'SELECT u.user_money, u.pay_points, u.user_rank, u.rank_points, '.            ' IFNULL(b.type_money, 0) AS user_bonus, u.last_login, u.last_ip'.            ' FROM ' .$GLOBALS['ecs']->table('users'). ' AS u ' .            ' LEFT JOIN ' .$GLOBALS['ecs']->table('user_bonus'). ' AS ub'.            ' ON ub.user_id = u.user_id AND ub.used_time = 0 ' .            ' LEFT JOIN ' .$GLOBALS['ecs']->table('bonus_type'). ' AS b'.            " ON b.type_id = ub.bonus_type_id AND b.use_start_date <= '$time' AND b.use_end_date >= '$time' ".            " WHERE u.user_id = '$_SESSION[user_id]'";    if ($row = $GLOBALS['db']->getRow($sql))    {        /* 更新SESSION */        $_SESSION['last_time']   = $row['last_login'];        $_SESSION['last_ip']     = $row['last_ip'];        $_SESSION['login_fail']  = 0;        /* 取得用户等级和折扣 */        if ($row['user_rank'] == 0)        {            // 非特殊等级,根据等级积分计算用户等级(注意:不包括特殊等级)    
复制代码

  变成了一坨这样的东西。一开始以为是自己的程序问题,备份后再次上传,仍然如此。。。。。因此,怀疑是上传的文件触发了阿里云的安全机制。有些文件时正常的,有些文件会莫名地把换行符给干掉。

  于是将文件打包成一个压缩包以后再上传,这时完好如初。。。。。






本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/4660832.html,如需转载请自行联系原作者
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
自然语言处理 算法 小程序
|
12月前
|
API 开发工具 开发者
开发者必备:10个提升工作效率的网站🚀
作为一名开发者,利用合适的工具可以显著提高工作效率。以下是我个人推荐的10个网站,能够帮助你节省时间并提升开发质量。
188 2
开发者必备:10个提升工作效率的网站🚀
|
运维 Kubernetes 调度
阿里云容器服务 ACK One 分布式云容器企业落地实践
3年前的云栖大会,我们发布分布式云容器平台ACK One,随着3年的发展,很高兴看到ACK One在混合云,分布式云领域帮助到越来越多的客户,今天给大家汇报下ACK One 3年来的发展演进,以及如何帮助客户解决分布式领域多云多集群管理的挑战。
阿里云容器服务 ACK One 分布式云容器企业落地实践
|
12月前
|
消息中间件 监控 物联网
流处理系统
流处理系统
149 1
|
12月前
|
SQL 数据库
为什么SQL日志文件很大,该如何处理?
为什么SQL日志文件很大,该如何处理?
|
XML 安全 Java
如何开发微信公众号后台
如何开发微信公众号后台
445 0
|
机器学习/深度学习 监控 算法
图像识别技术的发展与应用
图像识别技术是人工智能领域中具有重要影响力的一项技术。随着计算机性能的提升和深度学习的兴起,图像识别技术在各个领域得到了广泛应用。本篇博客将介绍图像识别技术的发展历程以及其在不同领域的应用。
1190 0
|
机器学习/深度学习 人工智能 自然语言处理
华为在手机上,率先实现本地端自然语言搜图功能
华为在手机上,率先实现本地端自然语言搜图功能
496 0
|
弹性计算 对象存储 CDN
阿里云服务器带宽价格表(按固定带宽和按使用流量计费)
阿里云服务器带宽价格表,包括按固定带宽和按使用流量计费,阿里云百科以北京地域为例,按固定带宽计费1M带宽一个月23元,按使用流量计费1GB流量0.8元,如果云服务器带宽使用率低于10%,那么首选按使用流量计费,如果带宽实际利用率较高的话,按固定带宽计费更划算一些
579 0
阿里云服务器带宽价格表(按固定带宽和按使用流量计费)
|
Windows
win11系统用户名称为中文导致文件夹出现繁体字文件夹、系统路径配置错误修改教程(博主亲测,基于win11,系统文件保留)
win11系统用户名称为中文导致文件夹出现繁体字文件夹、系统路径配置错误修改教程(博主亲测,基于win11,系统文件保留)
1852 0