在给一个客户做从 excel 文件导入到织梦系统数据库表时,一次导入 10 万数据时,就会提示 Safe Alert: Request Error step 2。
一开始以为是自己写的代码有问题,但是,再怎么找也找不出问题了,代码完全正确。因为,我使用了 sql 语句,就想是不是织梦有安全检测?于是查了一下织梦系统数据库类,因为,我使用了类似$dsql->Execute()这样的数据库语句。
找到类文件/include/dedesql.class.php 里面,把这行代码: $this->safeCheck = TRUE;
改为: $this->safeCheck = FALSE;
相当于把织梦 sql 语句检测给关闭掉了。
当$this->safeCheck 值为真时,调用这个类里面的 sql 语句检测函数 CheckSql()来检测 sql 安全性。
如果我们插入数据过多,长时间调用 sql 语句,织梦认为是在注入网站,所以,提示 Safe Alert: Request Error step 1/2
转载:http://www.dedebase.com/thread-1159-1-1.html
评论