HACK emlog程序教程,操作前请先备份。
全文搜索会加重服务器的负担,也会更占用服务器的资源。
如果搜索引擎收录快的话,建议还是用搜索引擎的搜索功能吧。
只要修改include/controller文件夹下search_controller.php中
emlog文章使用的是blog表中gid自增来作为文章的ID,但是由于后台有删除文章的功能,一旦删除文章那么gid自增就会出现断号。
解决删除导致断号的问题有2种方法:
方法一:不删除文章,采用转为草稿再重新编辑发布的方法,适用于没有删除过文章的。(一般都已经删除文章了才会找到这篇文章)
方法二:只要在添加文章的时候判断gid之前的有没有断号问题,有的话直接插入,没有的话自增。
修改方法
看到emlog BBS有人需要这个代码(emlog统计指定时间内发表的文章数量),所以简单的写一下。
通过log_model.php中的模块函数getLogNum不用自己费力的去写函数了,直接构造数据库查询语句就可以使用这个函数来读取emlog文章数量了。
PS:只要你去研究emlog的核心代码,很多代码都是可以通过emlog自带的核心代码来实现效果的,不用费力不讨好的自己去写数据库查询函数。还能不破坏emlog速度和稳定性。
以下是这段代码,你可以在模版文件的任何地方使用,这个只是简单写一下,当然这个还可以写成函数的格式。建议使用的时候自己改写成函数形式来使用。
Bug描述
今天论坛有人说评论有BUG,我看了一下,无意中注意到isLogCanComment函数。
function isLogCanComment($blogId) { if (Option::get('iscomment') == 'n') { return false; } $query = $this->db->query("SELECT allow_remark FROM ".DB_PREFIX."blog WHERE gid=$blogId"); $show_remark = $this->db->fetch_array($query); if ($show_remark['allow_remark'] == 'n' || $show_remark === false) { return false; }else { return true; } }以上是isLogCanComment函数的代码,数据库(连接方式使用mysqli)查询$show_remark的值应该是空值NULL,所以不能用===false。
注意:数据库连接方式使用mysqli就会出现这个问题
影响就是POST伪造gid,可以把评论发布到不存在或者未审核未发布的文章下,影响应该不大。

大部分软路由网口是偏少的,一般也就3~4个网口,所以如果多条物理ADSL线路,RouterOS(以下简称ROS)需要用到web网管型交换机来扩展WAN。
这边以4条ADSL,8口web网管型交换机,以及4口ROS软路由为测试环境。
详细设置:
1、首先在Web网管型交换机4个网口设置VLAN_ID:10,20,30,40,还有设置一个trunk口连接到软路由ether1上
2、创建VLAN,Winbox --> Interfaces --> Interface,重命名ether1为WAN,Interfaces -->VLAN,新建4个VLAN:VLAN10,VLAN20,VLAN30,VLAN40。
我前面有文章《RouterOS利用DNSPOD的API接口实现DDNS动态解析》写过通过PHP服务器更新DNSPOD解析的域名IP,但是更多的是带来安全问题,所有这次写了一个RouterOS(以下简称ROS)的原生脚本来实现域名的动态解析。
版本说明
1、最低版本支持RouterOS v6.43,低于这个版本的要么升级,要么还是使用第三方服务器来动态解析。
2、不存在的记录,不会自动添加,需要手动在DNSPOD添加记录,线路为默认,不支持单记录多线路解析。为什么不加自动了添加域名之类的,因为一次添加永久有效,所以脚本中不添加自动了。节省ROS性能(我懒)
3、只支持IPv4,不支持IPv6
本文主要讲解如何借助DNSPOD的API接口来实现RouterOS的DDNS动态解析。
一、创建Token添加域名
首先域名要在DNSPOD解析,然后在DNSPOD后台开启的API Token。
详细开通API Token教程:https://support.dnspod.cn/Kb/showarticle/tsid/227/