根据IP限制评论中的操作

时间:2013-08-28 作者:JMau

我一直在尝试设置一些可能非常简单的东西(但我以前从未这样做过):

add_filter(\'pre_comment_user_ip\', \'limit_commentator\');
function limit_commentator( $comment ) {
    $comment_field_value = get_comment_meta( $comment->comment_ID, \'some_custom_field\', true );
    //my code

}
我认为这是正确的选择,但如何限制评论员使用此自定义字段发表评论的能力?实际上,我只希望每个IP有一个值。

还有一个问题:限制每个IP真的值得吗?我一直在考虑每天的限额。你觉得这个怎么样?

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

That hook 不会的。它是一个过滤器。您可以更改IP数据,但除非您愿意终止(die;exit;wp_die()) 整个脚本您将无法停止评论发布。我用钩子测试return false; 至过滤器。没有什么

您可以通过挂接终止评论提交return false;pre_comment_approved 但是,在第二个参数中确实有IP数据。

add_filter(\'pre_comment_approved\', \'limit_commentator\', 1, 2);
function limit_commentator( $approved, $commentdata ) {
  var_dump($approved,$commentdata);
  die;
}
您可以检查$wpdb->comments 该IP的表(在comment_author_IP 列),如果得到匹配项,则返回false。这应该很容易,但我不会这么做。许多住宅互联网连接共享相同的外部IP。如果你按IP限制,你可能会将评论限制为每个邻居一条。此外,住宅IP会发生变化。这是不可靠的。

基于IP的速率限制(每天/每小时)是一个更好的主意,因为可能性对您有利,而且实现方式也非常相似。

结束

相关推荐

[显示Hellip而不是[...](&H)

我的wordpress网站有一些问题,而不是[…]我到处都很忙。我已将字符集更改为UTF-8,但问题仍然存在。如果有任何帮助,将不胜感激。以下是网站链接:http://theappjuice.com/