WordPress - Contact Form7 - 修改 php 分析代码以注入自己的垃圾邮件检查

WordPress - Contact Form7 - Modify php code of analyze to inject own spam-check

我已经打破了我的长矛搜索英语和俄语手册

信息: 我是 Wordpress 平台上的 运行 网站。 它的联系方式是 WordpressContactForm7.

问题: 垃圾邮件每天重复发送 5-7 次 通过联系表格到我的呼叫中心的电子邮件。

我的作品: 我在 php 中制作了简单的垃圾邮件过滤器来阻止常见的短语和电子邮件, 在邮件正文中发现的蜜蜂 - 使其垃圾邮件评级越来越高。

垃圾邮件级别 90% 之后的所有内容都被阻止。 60% 之后的所有内容都必须阻止用户使用每天 1 封电子邮件的模式

问题: 我在 WPCF7 中找不到任何合适的位置 php代码来注入我自己的代码。

我是 wordpress 新手,只能找到两个入口点: 1) 数据处理器的虚拟地址 站点名称。com/wp-json/contact-form-7/v1/contact-forms/46550/feedback 那是虚拟的,并没有告诉我 wpcf7 有服务器处理和发送到我的邮件的地方。

2) contact-form-7 插件的安装 ZIP 它也有很多东西 - 我仔细地看完了-但我发现我无法在脑海中形成完整的形象/

所以我决定向经验丰富的编码人员寻求帮助,以展示处理该问题的不同方法。

P.S。 (注 1 我有点害怕 WP,更喜欢依靠我自己的原始 php 技能和从零开始构建代码结构。我m much better dealing the code done by me rather than somebody outers。)

(Note2 我听说 json api 有漏洞...)

(注3我不敢更新任何组件-原因是WP由上级控制和携带-所以我的错可能是最后一个^)

请就此主题向我咨询,如果可能的话<3 谢谢

CF7 实际上有很多钩子和过滤器,例如 wpcf7_skip_mailwpcf7_mail_sentwpcf7_before_send_mail 和其他..

e,g:

 add_action( 'wpcf7_before_send_mail', 'wpcf7_my_before_send_mail' );

   function wpcf7_my_before_send_mail( $wpcf7 ) {

       // put your logic  code here

   }

以下为跳过邮件专用

 add_filter( 'wpcf7_skip_mail', function( $skip_mail, $contact_form ) {

       if( /* your logic */ )

           $skip_mail = true;

       return $skip_mail;

   }, 10, 2 );

结合这个逻辑,你还可以做类似

的事情
add_action("wpcf7_before_send_mail", "wpcf7_do_something");  
function wpcf7_do_something($cf7) {
    // this is the contact form object
    $wpcf = WPCF7_ContactForm::get_current();

    // exam0ple : ID of Form $wpcf->id

    if (/*your logic here*/) {
        // If you want to skip mailing... 
        $wpcf->skip_mail = true;    
    }

    return $wpcf;
}

您还应该查看 CF7 Docs, you could find some other ways of fighting spam like ip_blacklist 和其他提示