wordpress无需插件实现拦截无中文留言的方法

Some Chinese Please插件可以拦截不带中文字的留言,本博客一直在用效果不错,不写入数据库,可有效地减少spam对服务器的无谓使用,其实可以将插件简化一下,直接用代码实现。

将下面代码加到主题functions模板文件中,效果与使用插件相同。

  • /* refused spam */
  • function refused_spam_comments( $comment_data ) {
  • $pattern = ‘/[一-龥]/u’;
  • if(!preg_match($pattern,$comment_data[‘comment_content’])) {
  • wp_die(‘评论必须含中文!’);
  • }
  • return( $comment_data );
  • }
  • add_filter(‘preprocess_comment’,’refused_spam_comments’);
  • wordpress无需插件实现拦截无中文留言的方法 (https://www.wp-admin.cn/) WordPress使用教程 第1张

    注:如果出现无效的情况,请将wp_die替换为err,否则显示错误信息时,会造成模版错位,其它使用ajax评论的主题也可参照修改。

    其它一些写入数据库的防spam插件不建议使用, 比如WordPress官方的防垃圾插件Akismet会在数据库中留下大量的信息,增加服务器负担。

    针对那些使用技术手段,比如GET、POST等方式不填写前台表单,直接读取后台程序文件的spam,只有屏蔽IP才能缓解疯狗一样的攻势,其它什么验证码、滑动解锁等等都没用。

    可以在.htaccess文件中添加:

    Order Deny,Allow
    Deny from xxx.xxx.xxx.xx
    Deny from xxx.xxx.xxx.xx

    相关推荐

    发表回复

    房先生
    我们将24小时内回复。
    2024-09-24 03:29:35
    您好,有任何疑问请与我们联系!
    您的工单我们已经收到,我们将会尽快跟您联系!
    [QQ客服]
    2781198
    加我微信
    [电话联系]
    13585372227
    [电子邮件]
    chaoneo@163.com
    取消

    选择聊天工具: