PHP 8.0.30
Preview: disallowed-list.php Size: 1.83 KB
/home/certprox/test.certproxywizard.com/wp-content/plugins/contact-form-7/modules/disallowed-list.php

<?php

add_filter( 'wpcf7_spam', 'wpcf7_disallowed_list', 10, 2 );

function wpcf7_disallowed_list( $spam, $submission ) {
	if ( $spam ) {
		return $spam;
	}

	$target = wpcf7_array_flatten( $submission->get_posted_data() );
	$target[] = $submission->get_meta( 'remote_ip' );
	$target[] = $submission->get_meta( 'user_agent' );
	$target = implode( "\n", $target );

	$word = wpcf7_check_disallowed_list( $target );

	$word = wpcf7_apply_filters_deprecated(
		'wpcf7_submission_is_blacklisted',
		array( $word, $submission ),
		'5.3',
		'wpcf7_submission_has_disallowed_words'
	);

	$word = apply_filters(
		'wpcf7_submission_has_disallowed_words',
		$word,
		$submission
	);

	if ( $word ) {
		if ( is_bool( $word ) ) {
			$reason = __( 'Disallowed words are used.', 'contact-form-7' );
		} else {
			$reason = sprintf(
				/* translators: %s: comma separated list of disallowed words */
				__( 'Disallowed words (%s) are used.', 'contact-form-7' ),
				implode( ', ', (array) $word )
			);
		}

		$submission->add_spam_log( array(
			'agent' => 'disallowed_list',
			'reason' => $reason,
		) );
	}

	$spam = (bool) $word;

	return $spam;
}

function wpcf7_check_disallowed_list( $target ) {
	$mod_keys = get_option( 'disallowed_keys' );

	if ( is_scalar( $mod_keys ) ) {
		$mod_keys = trim( $mod_keys );
	} else {
		$mod_keys = '';
	}

	if ( '' === $mod_keys ) {
		return false;
	}

	foreach ( explode( "\n", $mod_keys ) as $word ) {
		$word = trim( $word );
		$length = strlen( $word );

		if ( $length < 2 or 256 < $length ) {
			continue;
		}

		$pattern = sprintf( '#%s#i', preg_quote( $word, '#' ) );

		if ( preg_match( $pattern, $target ) ) {
			return $word;
		}
	}

	return false;
}

function wpcf7_blacklist_check( $target ) {
	wpcf7_deprecated_function(
		__FUNCTION__,
		'5.3',
		'wpcf7_check_disallowed_list'
	);

	return wpcf7_check_disallowed_list( $target );
}

Directory Contents

Dirs: 6 × Files: 20

Name Size Perms Modified Actions
akismet DIR
- drwxr-xr-x 2026-03-13 02:36:59
Edit Download
- drwxr-xr-x 2026-03-13 02:37:02
Edit Download
recaptcha DIR
- drwxr-xr-x 2026-03-09 18:24:51
Edit Download
- drwxr-xr-x 2026-03-13 02:37:08
Edit Download
stripe DIR
- drwxr-xr-x 2026-03-09 18:24:51
Edit Download
turnstile DIR
- drwxr-xr-x 2026-03-13 02:37:12
Edit Download
7.30 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
9.88 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
1.45 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
6.08 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
1.83 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
730 B lrw-r--r-- 2026-03-09 18:24:51
Edit Download
69.56 KB lrw-r--r-- 2026-07-01 00:00:28
Edit Download
6.94 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
8.42 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
776 B lrw-r--r-- 2026-03-09 18:24:51
Edit Download
755 B lrw-r--r-- 2026-03-09 18:24:51
Edit Download
6.64 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
6.81 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
13.45 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
2.27 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
460 B lrw-r--r-- 2026-03-09 18:24:51
Edit Download
6.62 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
2.70 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
8.39 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download
5.25 KB lrw-r--r-- 2026-03-09 18:24:51
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).