get_option_value('secret_seed'); if (empty ($seed)) { $seed = sk2_rand_str(10); $this->set_option_value('secret_seed', $seed); $this->log_msg(__("Resetting secret seed to: $seed."), 5); } $time = time(); $ip = $_SERVER['REMOTE_ADDR']; //echo (""); // debug $payload = md5($time . $seed . $ip . $post_ID); echo ""; echo ""; echo ""; } function version_update($cur_version) { $seed = sk2_rand_str(10); $this->set_option_value('secret_seed', $seed); $this->log_msg(__("Resetting secret seed to: ", 'sk2') . $seed, 5); return true; } function filter_this(&$cmt_object) { if ($cmt_object->is_post_proc()) { $log = __("Cannot check encrypted payload in post_proc mode."); $this->log_msg($log, 4); return; } if (! $cmt_object->is_comment()) return; if (empty($_REQUEST['sk2_payload'])) { $log = __("Encrypted Payload missing from form."); $karma_diff = -20; $this->log_msg($log, 1); } elseif($cmt_object->post_ID != $_REQUEST['comment_post_ID']) { $log = sprintf(__("Error: Submitted Post_ID variable (%d) not matching ours (%d).", 'sk2'), $_REQUEST['comment_post_ID'], $cmt_object->post_ID); $this->log_msg($log, 9); $karma_diff = -8; } else { $seed = $this->get_option_value('secret_seed'); if ($_REQUEST['sk2_payload'] != md5($_REQUEST['sk2_time'] . $seed . $_REQUEST['sk2_ip'] . $cmt_object->post_ID)) { $log = __("Fake Payload."); $karma_diff = -20; $this->log_msg($log, 2); } elseif ($_REQUEST['sk2_ip'] == $_SERVER['REMOTE_ADDR']) { $log = __("Encrypted payload valid: IP matching."); $karma_diff = 0; } else { $log = __("Encrypted payload valid: IP not matching."); $karma_diff = - 2.5; } } $this->modify_karma($cmt_object, $karma_diff, $log); } } $this->register_plugin("sk2_payload_plugin", 2); ?>