屏蔽SQL提示 让注入无能为力!

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

注入无非就是利用了 ec的sql错误提示 显示出了MD5的密码
那么最好的解决方法当然就屏蔽这个sql错误
那么无论如何的注入都束手无策!
不废话了上代码

找到 \includes\cls_mysql.php
  1. function ErrorMsg($message = '', $sql = '')
  2. {
  3. if ($message)
  4. {
  5. echo "<b>ECSHOP info</b>: $message\n\n<br /><br />";
  6. //print('<a href="http://faq.comsenz.com/?type=mysql&dberrno=2003&dberror=Can%27t%20connect%20to%20MySQL%20server%20on" target="_blank">http://faq.comsenz.com/</a>');
  7. }
  8. else
  9. {
  10. echo "<b>MySQL server error report:";
  11. print_r($this->error_message);
  12. //echo "<br /><br /><a href='http://faq.comsenz.com/?type=mysql&dberrno=" . $this->error_message[3]['errno'] . "&dberror=" . urlencode($this->error_message[2]['error']) . "' target='_blank'>http://faq.comsenz.com/</a>";
  13. }

  14. exit;
  15. }
复制代码
修改为
  1. function ErrorMsg($message = '', $sql = '')
  2. {
  3. if ($message)
  4. {
  5. //echo "<b>ECSHOP info</b>: $message\n\n<br /><br />";
  6. //print('<a href="http://faq.comsenz.com/?type=mysql&dberrno=2003&dberror=Can%27t%20connect%20to%20MySQL%20server%20on" target="_blank">http://faq.comsenz.com/</a>');
  7. }
  8. else
  9. {
  10. //echo "<b>MySQL server error report:";
  11. //print_r($this->error_message);
  12. //echo "<br /><br /><a href='http://faq.comsenz.com/?type=mysql&dberrno=" . $this->error_message[3]['errno'] . "&dberror=" . urlencode($this->error_message[2]['error']) . "' target='_blank'>http://faq.comsenz.com/</a>";
  13. }

  14. exit;
  15. }
复制代码
就是把所有的错误输出屏蔽 这样很方便的就解决了注入问题 呵呵 !巧妙

回答:
不错,收藏了

是一个解决密码被破的方法,不错。

支持一下



小板凳好帖。正儿八经的!

应该提交给官方,在后台做个开头,对一系列的错误提示选择“显示或不显示”。

呵呵,这个不错;

这个方法确实不错。。。

留個記號

这个要顶顶!

简单,实用.

这个不错,顶一个!

一定要顶。好好研究下!