Je bent hier: ITFAQ.nl » WordPress » Twee handige WordPress filters en actions

Twee handige WordPress filters en actions

Hier een tweetal WordPress functies. Een WordPress action voor het weergeven van het aantal geregistreerde WordPress-gebruikers en een filter om de spamstatus van het IP-adres van een “reageerder” op te vragen bij Project Honey Pot. Enjoy.

Beide functies gebruik ik vaak in mijn WordPress sites. Meestal in een eigen site-specific plugin, en anders in het thema functions.php-bestand.

Aantal geregistreerde WordPress-gebruikers weergeven in het Dashboard

Het weergeven van het aantal geregistreerde gebruikers kan handig zijn. Soms is een plotselinge stijging van het aantal gebruikers een goede indicatie dat de website is gehackt.

Je kunt ervoor kiezen om de informatie te tonen in de At-a-Glance (“Op dit moment”) widget, of in een eigen dashboard widget. Ik geef je de code voor dat laatste.

<?php /** * Plugin name: Number of Registered Users * Plugin URI: https://www.saotn.org/wp-count-registered-users/ * Description: Counts the number of registered users in your WordPress site and displays the total in a custom WordPress Dashboard widget. This is particular handy as an indicator of compromise (IoC), when a hacker has registered numerous new users in your WordPress database. * Author: Jan Reilink * Author URI: https://www.saotn.org * Donate URI: https://www.paypal.me/jreilink * Text Domain: wpcount-registered-users-widget * Version: 0.1 */ if ( ! defined( 'ABSPATH' ) ) { exit; } add_action( 'wp_dashboard_setup', 'itfaq_dashboard_widgets' ); function itfaq_dashboard_widgets() { global $wp_meta_boxes; wp_add_dashboard_widget( 'itfaq_widget', 'Number of registered users', 'itfaq_dashboard_noru'); } function itfaq_dashboard_noru() { echo '<p><span class="dashicons dashicons-groups"> </span> '. itfaq_count_users() .'</p>'; } function itfaq_count_users() { global $wpdb; $result = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" ); if( $result ) { $output = __("There are ${result} users registered in your WordPress site", "wpcount-registered-users-widget" ); return $output; } }

Ik heb hierover een blogpost op Saotn.org met meer informatie: Count and display number of WordPress users in your Dashboard.

Check IP-adressen van comments bij Project Honey Pot

Project Honey Pot bevat lijsten IP-adressen van misbruikers. Reactiespam, hackpogingen enz. Die wil je niet op je site, toch? :-)

De volgende functie maakt een een linkje “Project Honey Pot” bij je website / blog reacties. Als je die aanklikt wordt je geleid naar de Project Honey Pot website om de (spam-, misbruik-) status van het IP-adres te zien.

Project Honey Pot link in comment_row

Als het IP-adres bekend staat als spammer of misbruiker kun je er makkelijker voor kiezen de reactie niet toe te laten op jouw site.

Sla de code hieronder op in je site-specific pluginbestand of thema functions.php.

/** * 'php': Project Honey Pot :-) * Jan Reilink, https://paypal.me/jreilink */ function check_php_status( $actions, $comment ) { $action = "<a href=\"https://www.projecthoneypot.org/ip_{$comment->comment_author_IP}\" target=\"_blank\">Project Honey Pot</a>"; $actions['check_IP_status'] = $action; return $actions; } add_filter( 'comment_row_actions', 'check_php_status', 10, 2 );

Tip: een goede plugin om je website te beschermen en verkeer van IP-adressen die opgenomen zijn in Project Honey Pot is Honeypot Toolkit.

Geef een reactie