Add honeypot fields and minimum fill-out time for sign-up form (#15276)
* Add honeypot fields to limit non-specialized spam Add two honeypot fields: a fake website input and a fake password confirmation one. The label/placeholder/aria-label tells not to fill them, and they are hidden in CSS, so legitimate users should not fall into these. This should cut down on some non-Mastodon-specific spambots. * Require a 3 seconds delay before submitting the registration form * Fix tests * Move registration form time check to model validation * Give people a chance to clear the honeypot fields * Refactor honeypot translation strings Co-authored-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
		
					parent
					
						
							
								9669167aae
							
						
					
				
			
			
				commit
				
					
						49eb4d4ddf
					
				
			
		
					 13 changed files with 70 additions and 5 deletions
				
			
		|  | @ -280,6 +280,17 @@ function main() { | |||
|       target.style.display = 'block'; | ||||
|     } | ||||
|   }); | ||||
| 
 | ||||
|   // Empty the honeypot fields in JS in case something like an extension
 | ||||
|   // automatically filled them.
 | ||||
|   delegate(document, '#registration_new_user,#new_user', 'submit', () => { | ||||
|     ['user_website', 'user_confirm_password', 'registration_user_website', 'registration_user_confirm_password'].forEach(id => { | ||||
|       const field = document.getElementById(id); | ||||
|       if (field) { | ||||
|         field.value = ''; | ||||
|       } | ||||
|     }); | ||||
|   }); | ||||
| } | ||||
| 
 | ||||
| loadPolyfills() | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue