Admin-ajax.php是否可以用于垃圾邮件目的?如果是,如何防止这种情况发生?

时间:2013-08-23 作者:Pavel K

今天我收到了一封来自我的托管提供商的来信,信中提到管理ajax。php脚本一直在发送垃圾邮件,直到被阻止。大约有2000条垃圾邮件被发送到不同的电子邮件中。我知道你是否有适当的邮件功能。php您只需从Google Chrome控制台运行下一个代码:

$.ajax({
    type: "POST",
    url: \'/wp-admin/admin-ajax.php\',
    data: { action: \'mail_function\', message: \'test\'},
    dataType: "html",
    success: function(data) {

    }
});
是否有其他方法可以做到这一点,以及我可以在哪里发现漏洞的建议?

我正在为userforms使用ContactForm7插件

2 个回复
SO网友:Chris_O

这就是为什么要使用nonce

$.ajax({
    type: "POST",
    url: \'/wp-admin/admin-ajax.php\',
    data: { action: \'mail_function\', message: \'test\', _nonce: <?php echo wp_create_nonce( \'mail_function_\' . $post->ID ) ?>},
    dataType: "html",
    success: function(data) {
    }
});
然后在PHP函数中:

function my_ajax_mailer() {
    if ( ! wp_verify_nonce( $_REQUEST[\'_nonce\'], \'mail_function_\' . $post->ID ) )
        return;
    // send mail...
}

SO网友:s_ha_dum

admin-ajax.php 本身不应该是问题,但是连接到AJAX API的写得不好的函数可能会很麻烦。我怀疑这就是你所拥有的。你的“适当的邮件功能”并不像你想象的那么合适,它很乐意从任何来源发送任何电子邮件。

或者你的网站被更深层次的黑客攻击,或者你安装了一个胭脂插件。根据提供的信息,很难说。

结束

相关推荐

获取wp-admin页面/链接的正确语法

我似乎找不到适合我这种情况的抄本。通常,我使用get_bloginfo(\'template_url\') 获取模板路径,但这次我需要获取一些WP-ADMIN 第页。我在wp-admin 一切正常。我只需要获取ff的链接:wp管理/上传。php管理/索引。php管理/编辑。php?post\\u type=page正确的语法是什么getting 这个path 到这些位置get_bloginfo(\'admin_url\')/wp-admin-upload.php // sample only, just