2

我是一个 php 程序人,很快就会迷失在 Wordpress 的复杂性和 OOO 代码中。我正在尝试我认为在网站上运行的 Contact Form 7 插件中的简单破解,但我没有成功。

我正在尝试在 Contact Form 7 的一个类中进行 exec 调用:

wp-content/plugins/contact-form-7/includes/classes.php(第 549 行):

if ( $send ) {
    exec ("/usr/bin/php /var/www/html/record_subscription_change.php  -s $subject -r $recipient -b $body");
    return @wp_mail( $recipient, $subject, $body, $headers, $attachments );
}

本质上,我正在尝试调用外部 php 脚本并将变量传递给它。我尝试在其中创建自己的函数classes.php,这让 Contact Form 7 非常不高兴(当我点击提交按钮时它只是旋转)。

4

2 回答 2

0

问题最终是所有权/权限。apache下的wordpress没有执行脚本或写入日志文件的权限。一旦这些权限得到纠正,它就可以正常工作。

于 2013-03-25T05:43:02.430 回答
0

您根本不必破解 Contact Form 7,只需使用 CF7 钩子...

http://hookr.io/plugins/contact-form-7/#index=a

函数.php

add_action('wpcf7_mail_sent', 'action_wpcf7_mail_sent', 10, 1);
function action_wpcf7_mail_sent($contact_form) { 
    $submission = WPCF7_Submission::get_instance();
    if($submission) {
        $mail_temp = $contact_form->prop('mail');
        $mail = wpcf7_mail_replace_tags($mail_temp);
        $subject = $mail['subject'];
        $recipient = $mail['recipient'];
        $body = $mail['body'];
        exec ("/usr/bin/php /var/www/html/record_subscription_change.php  -s $subject -r $recipient -b $body");
    }
    return $contact_form;
}
于 2018-01-17T21:13:07.253 回答