<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>user registration - Matteo Cisilino</title>
	<atom:link href="https://www.cisilino.com/en/tag/user-registration/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cisilino.com/en/</link>
	<description>Guide su WordPress, server e sicurezza</description>
	<lastBuildDate>Fri, 30 Oct 2026 16:06:27 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>
	<item>
		<title>User registration: who can create accounts</title>
		<link>https://www.cisilino.com/en/2026/10/30/user-registration-who-can-create-accounts/</link>
					<comments>https://www.cisilino.com/en/2026/10/30/user-registration-who-can-create-accounts/#respond</comments>
		
		<dc:creator><![CDATA[matteocisilino]]></dc:creator>
		<pubDate>Fri, 30 Oct 2026 16:05:49 +0000</pubDate>
				<category><![CDATA[CSDN manual]]></category>
		<category><![CDATA[Cisilino Site Defense Network]]></category>
		<category><![CDATA[user registration]]></category>
		<category><![CDATA[WordPress roles]]></category>
		<guid isPermaLink="false">https://www.cisilino.com/?p=1053</guid>

					<description><![CDATA[<p>How to use the User registration tab of the plugin CSDN: policy, allowed roles, mandatory email and the limits of this protection.</p>
<p>The post <a href="https://www.cisilino.com/en/2026/10/30/user-registration-who-can-create-accounts/">User registration: who can create accounts</a> first appeared on <a href="https://www.cisilino.com/en/">Matteo Cisilino</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>The “User registration” tab decides who can create new accounts on your site, and with which role. It&#8217;s the defence against hidden administrators, meaning accounts created secretly to get back onto the site after an attack. User registration WordPress is governed from here. In this chapter you&#8217;ll see the registration policy, the allowed roles and the mandatory email address.</p>
<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" src="https://www.cisilino.com/wp-content/uploads/2026/10/manuale-csdn-registrazione-utenti.webp" alt="Diagram of WordPress with the User registration WordPress tab of the plugin CSDN highlighted" width="1200" height="630"/></figure>
<h2>Where it is</h2>
<p>In the WordPress menu open <strong>Settings</strong> and then <strong>Cisilino Site Defense Network</strong> (point 1 in the image). Choose the “User registration” tab (point 2). Saving requires the <code>manage_options</code> permission; on multisite you need <code>manage_network_options</code>.</p>
<p>There are three sections. Point 3 is “Registration policy”. Point 4 is “Allowed roles (only at the &#8220;low-privilege roles&#8221; level)”. Point 5 is “Mandatory email”.</p>
<h2>What it&#8217;s for</h2>
<p>The policy applies to every route of account creation: the wp-admin panel, the REST API, XML-RPC, WP-CLI, and any plugin or theme using WordPress&#8217;s own functions to create users. The check is done in PHP, without touching the <code>.htaccess</code> file.</p>
<h2>How to use it</h2>
<h3>Registration policy (point 3)</h3>
<p>Choose a single level out of three. They don&#8217;t add up.</p>
<ul>
<li>“No restriction (disabled)”: the module is off and WordPress behaves as usual.</li>
<li>“Low-privilege roles only (never administrator/editor/author)”: this is the default level. The allowed roles at point 4 apply.</li>
<li>“No registration (exclusive)”: no new user can be created at all.</li>
</ul>
<h3>Allowed roles (point 4)</h3>
<p>This only applies at the low-privilege roles level. You can tick <code>subscriber</code> (ticked by default), <code>contributor</code> and <code>customer</code> (useful with WooCommerce). The <code>administrator</code>, <code>editor</code>, <code>author</code> and <code>shop_manager</code> boxes are always disabled, marked “never allowed”.</p>
<h3>Mandatory email (point 5)</h3>
<p>The box “Don&#8217;t create users without a valid email address” is on by default. It stops users being created without a valid email, through any route. It doesn&#8217;t touch users who already exist. This setting is saved together with the rate limiting ones, but is managed here.</p>
<p>At the end, press <strong>Save registration policy</strong>. You&#8217;ll see “User registration policy saved.” The save lands in the Activity log, under the label “User registration”.</p>
<h2>User registration WordPress: default values and limits</h2>
<ul>
<li>The default policy is “Low-privilege roles only”, active even if you&#8217;ve never saved anything.</li>
<li>The starting allowed role is <code>subscriber</code> alone.</li>
<li>Forbidden roles are always discarded, even if someone tries to submit them by hand.</li>
<li>The list of roles is fixed: it doesn&#8217;t show your site&#8217;s custom roles.</li>
<li>There are no email domain lists, captchas or anti-spam checks on registrations.</li>
</ul>
<p><strong>Warning:</strong> with “No registration (exclusive)” nobody can create users, not even the administrator. The “Add New User” item disappears from the menu, and opening <code>user-new.php</code> by hand gives a 403 error. If, at the low-privilege roles level, you untick every role, the list stays empty and no user is allowed at all. Here, though, the menu item and the page stay visible: the 403 error only arrives when you try to create the user.</p>
<p>With the default level you can&#8217;t create an editor or an author, not even as an administrator. The plugin makes no exception for someone already logged in. To create a user with a high role, switch temporarily to “No restriction”, create the user, and then switch back.</p>
<p>Also check the “New user default role” under Settings &gt; General in WordPress. If it&#8217;s a forbidden role, such as Editor, every registration without an explicit role is rejected.</p>
<h2>What happens behind the scenes</h2>
<p>The main check acts on the <code>pre_insert_user_data</code> filter, only when a user is created. Changes to existing users always go through. A rejected attempt shows the title “Registration not allowed” with a 403 error. On the REST API you get a 403 JSON error instead of the page.</p>
<p>With any policy active, the plugin removes the XML-RPC method <code>wp.newUser</code>. With the exclusive policy it also forces WordPress&#8217;s “Anyone can register” option to false. At the low-privilege level, that option stays whatever you chose.</p>
<p>There&#8217;s also a safety net after creation. If an account is somehow created in violation of the policy, the plugin immediately strips its role and writes an event to the Activity log. The account isn&#8217;t deleted, so you can examine it.</p>
<p><strong>Warning:</strong> a compromised plugin or theme writing straight to the users table with a database INSERT doesn&#8217;t pass through any filter. No PHP plugin can stop that. The user registration WordPress protection in this tab is a strong barrier, but it isn&#8217;t absolute.</p>
<h2>Examples</h2>
<ul>
<li>A showcase site with no public users: choose “No registration (exclusive)”.</li>
<li>A site with subscribers or comments: leave the default level with <code>subscriber</code>.</li>
<li>A shop with WooCommerce: add <code>customer</code>.</li>
<li>You need to add a collaborator with a high role: use “No restriction” only for as long as needed.</li>
</ul>
<h2>If something goes wrong</h2>
<p>If a sign-up is rejected with the message about a role not being allowed, check WordPress&#8217;s default role and the roles ticked at point 4. The Activity log tells you if an account has had its role stripped by the safety net. To understand the roles better, read the page on <a href="https://wordpress.org/documentation/article/roles-and-capabilities/" target="_blank" rel="noopener">roles and capabilities in the WordPress documentation</a>. It lists what each role can do.</p>
<p>Previous: <a href="https://www.cisilino.com/en/?p=981">Paranoic Hardening: security headers and the admin session</a>. Next: <a href="https://www.cisilino.com/en/?p=983">Rate limiting: limits on authors and visitors</a>. For the general index go to <a href="https://www.cisilino.com/en/?p=972">chapter 1 of the manual</a>.</p><p>The post <a href="https://www.cisilino.com/en/2026/10/30/user-registration-who-can-create-accounts/">User registration: who can create accounts</a> first appeared on <a href="https://www.cisilino.com/en/">Matteo Cisilino</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.cisilino.com/en/2026/10/30/user-registration-who-can-create-accounts/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
