文件:/system/engine/action.php
1.[代码阅读]execute方法:在成员属性method中截取前两个字符,如果是__,就报错 **目的是安全过滤路由参数。拼接出路由对应php文件的路径。拼接出该文件中的类名,文件存在,就实例化该类。实例化以文件中类名作为参数的反射类。判断是否有以成员属性method的值命名的方法,如果存在,再判断该方法需要的参数个数是否小于等于传入的参数数量。是的话,就通过call_user_func_array函数来执行路由对应php文件中的对应方法。以路由对应php文件中类的实例化对象,对应方法名组成的数组和传入参数一块作为参数,执行call_user_func_array(执行回调函数的方法)
文件:/catalog/controller/account/login
2.[代码阅读]validate方法 根据email来获取尝试登陆次数,如果存在并且尝试次数大于等于系统规定最大次数并且上次尝试是在1个小时内,就报错。根据邮箱获取顾客信息,如果成功获取到,判断是否认证了,没有就报错。用用户输入的邮箱和密码登陆,如果失败,就报错,并且记录登陆尝试次数+1;如果成功,就将登陆尝试次数删除掉
2.[代码阅读]validate方法 根据email来获取尝试登陆次数,如果存在并且尝试次数大于等于系统规定最大次数并且上次尝试是在1个小时内,就报错。根据邮箱获取顾客信息,如果成功获取到,判断是否认证了,没有就报错。用用户输入的邮箱和密码登陆,如果失败,就报错,并且记录登陆尝试次数+1;如果成功,就将登陆尝试次数删除掉
3.opencart填写上邮件服务器信息,提交订单发送邮件,速度慢,造成有时发送成功,有时不成功,解决方式是在/etc/hosts文件中添加smtp主机的dns信息,加速找到smtp主机
4.用opencart为商城app开发api,上传api后接口不能调用,返回的是html,后来发现opencart自动开启了站点维护模式,访问该站点任何链接都返回的是站点维护页面的html