ECSHOP后台SQL查询提示错误 this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,D...-站长杂谈下载

ECSHOP后台SQL查询提示错误 this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,D...

来自版块: 站长杂谈发表于: 2015-8-9 00:23:23
32578
0
如本资源下载地址失效,请点击此处进行反馈
开通本站Svip会员,全站资源免费下
ECSHOP后台SQL查询提示错误 this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT一)、0 M3 D+ l. _1 `, u0 m3 v
首先说一下错误现象:
0 R) G+ v0 \( _9 W! b) F5 i市面上流行的绝大部分ECSHOP模板,安装的时候都需要执行一段或几段SQL语句来修改数据结构或者初始化一些数据。7 j4 a" C7 L" y  ^7 t" i; o! J% t
大多数ECSHOP管理员为了省事,都会通过 “ECSHOP后台》数据库管理 》SQL查询” 来执行这些SQL语句。
2 r  j" |1 o7 W3 D" |这时问题就来了,当你粘贴进SQL语句,点“提交查询”时,系统就会报出下面的错误:
! n) ]: s4 g2 O& lthis sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT,REPLACE,SET,CREATE,CONCAT" ~- H4 E+ c( l5 U( O/ x9 O

: f# G7 H% K5 e  P$ c0 a有图有真相:; F( z# a$ s9 d

+ K! r& N* Q, s! v, \! Y 150328103814512026ggb7zn.jpg ! f: j  @# o2 b4 r1 ^7 d* ~

6 c/ C6 W: y0 k; N% `$ t注意:
5 f! N: u& s3 _上述错误只有在打了ECSHOP2.7.3最新补丁的系统下才会出现,如果您的ECSHOP系统没有打最新补丁,是不会出现这个错误提示。
* D$ k- p4 P8 K0 W: t8 ^
! Z6 K7 o0 u% Q1 s3 e
下面来说一下错误原因:" A; _) |5 E$ P

1 D5 p; Z7 j8 z7 X之所以会出现上面的错误提示,是因为ECSHOP2.7.3最新补丁文件,对ECSHOP后台的“SQL查询”功能做了限制,+ c3 I0 v7 j8 M
只允许执行 select 查询语句,除select之外的其他查询语句,诸如 alter, update, delete, truncate等之类的SQL语句都是被禁止执行的。
& U& ~, X" m8 x2 w# ^! U3 o2 M

/ A5 b: G1 X' E2 N5 X( _二)、
4 B1 V% |0 q. y  y2 W3 h$ u+ c) K: {$ R" L+ Y9 l9 U. @+ @3 C( w
下面再来说一说解决方法:: Z, ?) j# \2 r# `) o

$ U& V/ @9 H# J* p0 H' |9 M" j+ q打开 admin/sql.php  找到下面这段代码,删掉即可
, b* H- o  @7 J, b
5 E+ h0 c  M7 y, R: R1 l
if(!empty($_POST['sql']))
, L& L4 U2 N" v' n1 N{( u1 `* V6 u. E! a1 c# [: N
preg_match_all("/(SELECT)/i", $_POST['sql'],$matches);
+ a4 i/ ~) }6 X& d  h+ U3 S* Wif(isset($matches[1]) && count($matches[1])>1)
, b# Y  B; ?! R0 K# `7 x# S{
- S+ k4 R: D5 I# O7 zsys_msg("this sql more than one SELECT ");
: U! H; ^; e7 e+ D" I, j# O  q}$ g* @' R% Y+ T( ]) w3 ~) e

/ f5 e8 V$ B% r' D; o9 W/ j. Rif(preg_match("/(UPDATE|DELETE|TRUNCATE|ALTER|DROP|FLUSH|INSERT|REPLACE|SET|CREATE|CONCAT)/i", $_POST['sql']))) f6 v, K5 {) Y! F1 J
{
* R4 T* O; R! Asys_msg("this sql May contain UPDATE,DELETE,TRUNCATE,ALTER,DROP,FLUSH,INSERT,REPLACE,SET,CREATE,CONCAT ");, ]! S  Y' ^: A" L
}% e6 q, L  ?* M5 F% g$ u
}

' i+ o& t/ j+ c+ B  U! I, {( `4 E* K; R% u# _2 X

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部