Loading... ### 原理 3.0以上版本,oc_session表的作用是记录cookie,比如用户登录信息,随时间会越来越大,要是被人尝试登录后台更是雪上加霜。 ### 解决方案 * 手动清除数据,利用老牌phpmyadmin清除表数据即可,注意不是删除,是清除数据。 * 写个自动执行脚本,以插件的方式安装。 * 你可以复制下面的xml代码,并命名为install.xml。压缩为bugfix_session.ocmod.zip,按照插件方法安装即可。 ### 关键代码 ```xml <modification> <id>Bugfix: Session</id> <version>3.0.x-1.0</version> <vqmver>2.5.1</vqmver> <author>silencetime.com</author> <file name="system/library/session/db.php"> <operation> <search position="after"><![CDATA[$this->expire = ini_get('session.gc_maxlifetime');]]></search> <add><![CDATA[ if ($this->db) { // remove entries older than gc_maxlifetime seconds + 1 day $sql = "DELETE FROM `".DB_PREFIX."session` WHERE expire < DATE_SUB(NOW(), INTERVAL ".((int)$this->expire+86400)." SECOND);"; $this->db->query( $sql ); } ]]></add> </operation> </file> </modification> ``` 最后修改:2021 年 04 月 20 日 © 允许规范转载 打赏 赞赏作者 支付宝 赞 0 如果觉得我的文章对你有用,请随意赞赏