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 outer
s。)
(Note2 我听说 json api 有漏洞...)
(注3我不敢更新任何组件-原因是WP由上级控制和携带-所以我的错可能是最后一个^)
请就此主题向我咨询,如果可能的话<3
谢谢
CF7 实际上有很多钩子和过滤器,例如 wpcf7_skip_mail
、wpcf7_mail_sent
、wpcf7_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 和其他提示
我已经打破了我的长矛搜索英语和俄语手册
信息: 我是 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 outer
s。)
(Note2 我听说 json api 有漏洞...)
(注3我不敢更新任何组件-原因是WP由上级控制和携带-所以我的错可能是最后一个^)
请就此主题向我咨询,如果可能的话<3 谢谢
CF7 实际上有很多钩子和过滤器,例如 wpcf7_skip_mail
、wpcf7_mail_sent
、wpcf7_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 和其他提示