AI要約
はじめに
フォームの送信をブロックしたいIPアドレスがありますか? WPFormsの許可/拒否リストを使用すると、簡単にユーザーをブロックできますが、IPアドレスのみに基づいてブロックできることも知っていましたか? このチュートリアルでは、この機能を実現するために小さなPHPスニペットを使用する方法を説明します。
許可/拒否リストの作成に関する詳細については、こちらのチュートリアルをご覧ください。
フォームの作成
まず、フォームを作成し、フィールドを追加します。フォームの作成にヘルプが必要な場合は、こちらのドキュメントをご覧ください。

スニペットの追加
フォームが作成され公開されたら、このスニペットをサイトに追加できます。
スニペットをサイトに追加する方法や場所がわからない場合は、こちらのチュートリアルをご覧ください。
/**
* Block form submissions based on IP address
*
* @link https://wpforms.com/developers/how-to-block-ip-addresses-from-completing-your-form/
*/
function wpf_ip_block( $fields, $entry, $form_data ) {
// Get the current users IP address
$ip_address = wpforms_get_ip();
// List out the IP addresses separated by a comma
$blocked_ips = array(
'129.222.6.90',
'127.0.0.1',
);
// Check if the current user IP address is a blocked IP
if ( in_array( $ip_address, $blocked_ips ) ) {
// Block form submission and print error
wpforms()->process->errors[ $form_data[ 'id' ] ] [ 'footer' ] = esc_html__( 'Your IP address has been blocked. Please contact the site administrator for further assistance.', 'text-domain' );
}
}
add_action( 'wpforms_process', 'wpf_ip_block', 10, 3 );
このスニペットは、まずユーザーのIPアドレスを見つけ、それがブロックされたIPアドレスのリストと一致する場合、フォームは送信されず、エラーが表示されます。

これで、WPFormsのいずれかのフォームへのIPアドレスの送信をブロックするために必要なすべてが揃いました。名前によるフォーム送信もブロックしたいですか? フォーム送信をブロックする方法に関するチュートリアルをご覧ください。
関連
アクションリファレンス: wpforms_process