zoukankan      html  css  js  c++  java
  • ECSHOP后台SQL查询提示错误 this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT

    一)、

    首先说一下错误现象:

    市面上流行的绝大部分ECSHOP模板,安装的时候都需要执行一段或几段SQL语句来修改数据结构或者初始化一些数据。

    大多数ECSHOP管理员为了省事,都会通过 “ECSHOP后台》数据库管理 》SQL查询” 来执行这些SQL语句。

    这时问题就来了,当你粘贴进SQL语句,点“提交查询”时,系统就会报出下面的错误:

    this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT,REPLACE,SET,CREATE,CONCAT

    有图有真相:

    注意:

    上述错误只有在打了ECSHOP2.7.3最新补丁的系统下才会出现,如果您的ECSHOP系统没有打最新补丁,是不会出现这个错误提示。

    下面来说一下错误原因:

    之所以会出现上面的错误提示,是因为ECSHOP2.7.3最新补丁文件,对ECSHOP后台的“SQL查询”功能做了限制,

    只允许执行 select 查询语句,除select之外的其他查询语句,诸如 alter, update, delete, truncate等之类的SQL语句都是被禁止执行的。

    二)、

    下面再来说一说解决方法:

    打开 admin/sql.php 找到下面这段代码,删掉即可

    if(!empty($_POST['sql']))

    {

    preg_match_all("/(SELECT)/i", $_POST['sql'],$matches);

    if(isset($matches[1]) && count($matches[1])>1)

    {

    sys_msg("this sql more than one SELECT ");

    }

    if(preg_match("/(UPDATE|DELETE|TRUNCATE|ALTER|DROP|FLUSH|INSERT|REPLACE|SET|CREATE|CONCAT)/i", $_POST['sql']))

    {

    sys_msg("this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT,REPLACE,SET,CREATE,CONCAT ");

  • 相关阅读:
    飞入飞出效果
    【JSOI 2008】星球大战 Starwar
    POJ 1094 Sorting It All Out
    POJ 2728 Desert King
    【ZJOI 2008】树的统计 Count
    【SCOI 2009】生日快乐
    POJ 3580 SuperMemo
    POJ 1639 Picnic Planning
    POJ 2976 Dropping Tests
    SPOJ QTREE
  • 原文地址:https://www.cnblogs.com/275147378abc/p/4815910.html
Copyright © 2011-2022 走看看