当前位置:首页 > 叨叨念念

HACK emlog程序教程,操作前请先备份。使用Redis缓存来替代文件缓存,毕竟Redis缓存在内存, 文件缓存在硬盘(要看I/O的性能),一般来说内存的性能大于硬盘,所以一般来说Redis缓存优于文件缓存。


Redis相对于文件缓存的优点:

1、读写性能优异,特别是高并发时和文件缓存比有明显优势。

2、Redis支持集群。

Emlog数据库升级程序5.3.1to6.0.0

emlog 6.0.0正式版本的发布,趁着有时间,对自己的博客程序也进行了升级。

对比下emlog5.3.1和emlog6.0.0发现程序变化不大,主要是对tag标签进行了优化。


升级方法:

1、确定程序是emlog5.3.1(本程序是对照5.3.1和6.0.0做的);

2、备份网站系统和数据库(非常重要);

3、下载update.zip(下载地址在文章最后),解压把update.php上传到网站根目录,同config.php同一个目录;

4、浏览器访问update,按照提示输入数据库密码,确认等待升级完成;

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,可以把评论发布到不存在或者未审核未发布的文章下,影响应该不大。

Windows查看端口以及端口占用

在日常工作中,经常会碰到启动某个程序时,提示某个端口已经被占用,导致程序无法正常启动。 或者在未正常关闭程序的情况下,端口仍然被占用。那么在Windows下如何查看端口占用情况?以及如何根据端口查找进程,如何释放端口占用呢?


Windows查看端口占用情况(Netstat命令)

Windows10快速启动原理和如何关闭

Windows10快速启动称为混合启动(HybridBoot),在Windows8操作系统就引入了这个功能:

以往如 Windows 7关机的时候会将用户会话和系统内核会话同时关闭掉,但在Windows 8 开始的操作系统中新增加了一个“混合启动”(Hybrid Boot)新功能,其原理是关机的时候只关闭用户会话,而系统内核会话则转入休眠状态(保存到一个文件中,下次开机时直接从这个文件中写回内存),从而提高系统启动速度,而微软更是把这个“混合启动”功能默认替代了关机功能。


“睡眠”模式

系统会将正在处理的数据保存到内存中,除内存以外的所有设备都停止供电,可以通过鼠标键盘等唤醒电脑,唤醒后的运行状态和睡眠之前一模一样,睡眠期间不可断电,断电的话内存上的所有数据全部丢失,只能重新开机。

SPF介绍

SPF(Sender Policy Framework)是一种以IP地址认证电子邮件发件人身份的技术,是非常高效的垃圾邮件解决方案。同时SPF也起到了防范垃圾邮件的作用,通过TXT类型的DNS解析服务登记某个域名拥有的用来外发邮件的所有IP地址。按照SPF的格式在DNS记录中增加一条TXT类型的记录,将提高该域名的信誉度,同时可以防止垃圾邮件伪造该域的发件人发送垃圾邮件。接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。