离梦博客

愿有岁月可回首,且以深情共白头。


Explore Me
离梦
离梦博客
愿有岁月可回首,且以深情共白头。
35
7
115

给WordPress添加评论回复邮件提醒功能,目前已成为WordPress博客的标配,不仅可以大大提高用户体验,还可以增加访客的回头率。

偶然发现,这是一项很危险的功能,目前网上流行的代码版本很容易被一些别有用心的人利用:

我可以给你博客的所有评论都回复一遍,不仅在你的博客留下了垃圾评论,垃圾内容也通过评论回复提醒邮件顺带发出去了。

无需花费心思去获取评论者的邮件地址,也不用担心评论是否还在等待审核,垃圾广告内容顺利发出,欧耶!

很多博客都宣扬不会泄漏评论者的email,但是如果这个bug被人利用,你的博客倒成了垃圾邮件的发送者,这岂不是很搞笑?

解决办法

Step 1:

进入WordPress后台 - 设置 - 讨论,勾选"评论必须经人工批准",这样所有评论必须经过管理员审核才能显示,虽然有点麻烦,但是我觉得这是博主应该负起的一项责任。

Step 2:

接着我们需要将之前的评论回复邮件提醒的代码做些修改。

我设计的运行机制是这样的:对于管理员和编辑的评论回复,可以直接给评论者发送提醒邮件;对于普通访客发表的评论,先让它在待审评论中呆着,等博主审核后,再给评论者发送提醒邮件。下面是一个评论回复邮件提醒的代码范例,使用的是所有评论回复都发送邮件通知的版本,如果你需要其他功能,请参考网上的代码进行修改:

/**
 * WordPress评论回复邮件提醒防垃圾评论版
 * 作者:露兜
 * 博客:https://www.ludou.org/
 *  
 *  2014年7月5日 :
 *  首个版本
 */

function ludou_comment_mail_notify($comment_id, $comment_status) {
  // 评论必须经过审核才会发送通知邮件
  if ($comment_status !== 'approve' && $comment_status !== 1)
    return;

  $comment = get_comment($comment_id);

  if ($comment->comment_parent != '0') {
    $parent_comment = get_comment($comment->comment_parent);

    // 邮件接收者email      
    $to = trim($parent_comment->comment_author_email);

    // 邮件标题
    $subject = '您在[' . get_option('blogname') . ']的留言有了新的回复';

    // 邮件内容,自行修改,支持HTML
    $message = '
      <p>Hi, ' . $parent_comment->comment_author . '</p>
      <p>您之前在《' . get_the_title($comment->comment_post_ID) . '》的留言:<br />'
       . $parent_comment->comment_content . '</p>
      <p>' . $comment->comment_author . ' 给您回复:<br />'
       . $comment->comment_content . '<br /><br /></p>
      <p>您可以 <a href="' . htmlspecialchars(get_comment_link($comment->comment_parent)) . '">点此查看回复完整內容</a></p>
      <p>欢迎再度光临 <a href="'.home_url().'">' . get_option('blogname') . '</a></p>
      <p>(此邮件由系统自动发送,请勿回复)</p>';

    $message_headers = 'Content-Type: text/html; charset="' . get_option('blog_charset') . '"\n';

    // 不用给不填email的评论者和管理员发提醒邮件
    if($to != '' && $to != get_option('admin_email'))
      @wp_mail($to, $subject, $message, $message_headers);
  }
}


// 编辑和管理员的回复直接发送提醒邮件,因为编辑和管理员的评论不需要审核
add_action('comment_post', 'ludou_comment_mail_notify', 20, 2);

// 普通访客发表的评论,等博主审核后再发送提醒邮件
add_action('wp_set_comment_status', 'ludou_comment_mail_notify', 20, 2);

将以上代码加在主题的functions.php模板函数里

最后,还是希望看过这篇文章的网友不要去干坏事哦。

好了,有什么问题,包括本文涉及代码的小修改等,可以在此给我留言。

转载:露兜博客

再见了,老师!再见了,同学!
好久都没有好好地写一篇文章了,可能是因为中考完后,心情有点浮躁导致的,说好的学PHP到现在也没什么进
7月前 · 离梦
一个感人的韩国广告
今天看到顾飞博主发的视频,觉得不错便转过来了没有完美的婚姻,也没有不倦怠的爱情。不要让爱你的人,慢慢
8月前 · 离梦
体育中考
随笔 离梦 · 10月前

经过这么多天的努力,今天终于迎来了体育老师,心里又激动又害怕。

合肥体育中考一共60分,男生中长跑(1000米)是必选项,还有立定跳远、实心球、跳绳、坐位体前屈等,这些是选项,绝大多数人(包括我)都是选择了跳绳和坐位体前屈,因为这两项容易得分啊。跳绳157个及格,180为满分。我的跳绳一直不怎么稳定,偶尔满分,也因此中午经常被老师叫去练跳绳,并成为了“常客”。坐位体前屈那就是我最差的项目了,班级里最重的(200多斤)给我压也才19cm左右,更何况考试是没有人给你压的。

因为我们考试是在下午4点多才开始,但我们1点就要到,所以要等3个多小时漫长的时间,所以在早上走之前,从家里拿了两个面包和两个**(不要误会,我只是不知道该叫它什么)。

我们先是上了一上午的课,然后中午吃完饭到12点半,然后再下去开始排队。背着装有零食的书包,一个个井然有序地上大巴车,这种感觉...似乎有点像春游,于是情不自禁喝地唱起来“走走,走走走,我们小手拉小手,走走,走走走,一同去郊游......”

昨天晚上12点多睡得,早上4点多醒,觉得有点困便小憩了一下,20分钟后,我们又来到了合肥十中的门口(上次实验考试也是在这)。到了那,老师先是带我们做做操,跑跑步,拉拉伸,接着就开始了漫长的等待。几个人坐一起闲聊扯淡,无聊至极。

就这么一直聊着,很快就轮到了我们考试。由引导员带领我们进入考场,进行考试。第一场是跳绳,不管怎么说,还是有一点紧张的,万一第一次失误过多,导致不满分,就算跳第二次,也还是很难满分了。轮到我们开考,在仔细检查了鞋带和绳长后,确认无误开始跳,开始感觉还不错,一次都没断,但到最后,也许是我想要看前面电子屏上的个数,从而导致我的绳子打到了前面的同学,不过也顾不得那么多,赶紧继续跳,但是才发现,绳子已经绕在我身上了,当我拜托绳子的缠绕后,就听到“三,二,一。”,我的内心是崩溃的,已经做好了重考的准备,然而却看到电子屏上我名字旁边的数字:185!!!我竟然满分了,连我自己都开始怀疑是不是绳子的计数有问题了。

第二项是坐位体前屈,这一直是我的弱项,所以在考前让同学给我拉一拉,希望能比上次模考(13分)多1分,但最后未能如愿,依旧是13分,不过保住了上次的成绩,也没什么可惜的了。

最后一大项,便是价值30分的中长跑,我就只是在二模的时候跑过一次满分,所以中长跑也有点紧张。十中的操场一圈是400米,1000米就是要跑两圈半,我的计划是第一圈加速,第二圈跟着人,最后半圈全力加速,em......计划非常完美。

开始考试了,伴随着裁判员的号声,所有人都一齐往前加速,企图优先占领内道,但是我没有加起来就被挤到了3道,后来在慢慢转入2道,差距拉开后再进去1道。第一圈跑完了,我几乎是在倒数后几名,想着这次要GG了。第二圈跑完了,只剩下最后的200米,心想这次跑完后就再也不用跑了,便开始拼尽全力向前冲,一路超过了不少人,终于,在到达终点的那一刻,我停了下来开始大喘气,喉咙里感觉流血了一样,一瘸一拐地出跑到等候成绩。“9号,3分40”,刚刚好满分,啊,顿时松了一口气。如果没有算错的话,这次考试我应该一共58分,坐位体前屈扣了2分,毕竟尽力了,也就没什么好遗憾的了。

几个月的努力,就是为了今天的体育中考,现在,终于结束!

01
说一句很有内涵的诗句
一懒众衫小
02
你听过的第一个3D环绕音乐是什么?
丢手绢
03
一整个披萨你要切8块还是12块?
8块吧,12块我吃不下
04
如果你是别人,你愿意和自己处对象么?
想都不敢想,哪有这种福气
05
要是在古代,姐的颜值能撑起整个青楼!
你是说你长得像柱子吗?
06
用一句话形容你的罩杯
随爹
07
对不起,我们可能不太合适
放屁,我百搭
08
穷不是一种状态
穷是一种常态
09
你怎么一个人逛街啊?
半个人逛街我怕吓着你!
10
地球外面那一层是什么?
香飘飘奶茶
11
历史老师:你为什么交白卷?
我:我怕我会篡改历史
12
小学生当街闹分手
网友:请给90后空巢老人多些关爱
13
你们这些年轻人,就是把钱看得太重了!
放桌上也不拿东西压,风吹跑了怎么办。
14
服务员:“很高兴为您服务”
我:“你高兴的太早了”
15
男朋友吃女朋友豆腐正常吗?
没结婚就动手动脚的,那结婚后岂不是要上床?
16
问:在武侠世界里开一家客栈要注意什么?
答:墙上贴上字:要打出去打。
17
服务员:“请问我有什么可以帮您的吗”
“有啊,你能帮我付钱吗”
18
一次dota,队友:我有点卡,你们呢?
另一队友:这游戏还有点卡?!在哪买?
19
广播体操太假了,女生做了十几年的扩胸运动一点效果都没。
那你看见过跳拉丁舞的男生丁丁被拉长吗。
20
北冥有鱼,其名为鲲,
鲲之大,跟你体型差不多。
化而为鸟,其名为鹏,
鹏之背,跟你运气差不多。
21
有一次看别人求婚,我问我朋友为什么求婚是单膝跪地?
她说双膝跪地那是上坟。
22
谁能想到,这名16岁少女,
4年前只是一位12岁少年。
23
问:世上不会游泳的动物是?
答:媳妇和妈
24
我想摸你的头发只是简单的试探啊
嗯!真的很油!
25
sunshine组合新歌《我要做你女朋友》
网友:我拒绝
26
寒冷的环境可以使人变得更年轻
小明爷爷今年70岁,出门冻得跟孙子似的
27
女生:我生气了,你就算给我买cpb也没用
男生:那不买了不买了,别生气了
28
如果被车撞飞10米远,爬起来之后说什么最帅?
下一辆。
29
孙悟空头上的圈叫什么
猴头菇
30
妈,我是你的什么
妈的智障
31
我问电风扇我丑么,然后电风扇摇了一夜的头,顿时感觉好多了
别听电风扇的,它都是吹的
32
你的绩点怎样啊?
很敏感啊。
33
你儿子现在在我手上,赶快准备30万……
趁热吃吧,挺有营养的
34
两只小蜜蜂呀,飞在花丛中呀
飞得高的对飞得低的说:“你个low bee!”
35
乌龟一般能养多久?
那看你怎么养了,养好了,能送你走。
36
你看过的第一篇穿越文是什么?
《桃花源记》
37
麻麻,我能看电视吗?
当然可以,但就是不能打开它。
38
如果说书籍是人类进步的阶梯
那么电子书就是人类进步的电梯
39
A:做题的时候要多想想出题者的意图
B:他想我死
40
一个班级的经济实力如何?