Problemas con la seguridad en formulario de registro

Bueno no soy de los que pide mucha ayuda soy mas de buscar en google y solucionarlo el problema es el siguiente tengo un formulario el cual le posndre al final de mi pregunta yo pienso que lo tengo mas o menos regular en cuanto a seguridad y tal pero me e dado cuanta que alguien por alguna razon esta haciendo la pelota, el punto es que e limitado los caracteres del formulario con maxlength y esa limitacion la pasan facil mente y queria saver si se podia hacer algo parecido dejando esa y aplicando otra en php pues las limitaciones de php no han logrado pasarlas solo es esta la que me queda para asegurar el formulario

Les dejo el codigo.

formulario
<form action="#" method="post" name="register" onsubmit="return checkemail();">
						 <br /><center>{php}am_adunit(3);{/php}</center>
                                                 <h1>Registrate y Conectate</h1>
						  <p>Solo escriba un Nick y una contraseña de 6 caracteres + un mail, acepta los terminos luego te conectas y listo</p>
						  <br />
						        <p>Nick: <input type="text" name="username" maxlength="6" id="username"></p>
							<p>Contraseña: <input type="password" maxlength="6" name="password" id="password" /></p>
                                                        <p>Repetir Contraseña: <input type="password" maxlength="6" name="passwordconfirm" id="passwordconfirm" /></p>   
							<p>Email: <input type="text" name="email" id="email" /></p>
							<p>Confirmar Email: <input type="text" name="emailconfirm" id="emailconfirm" /></p>
							<p>Terminos y condiciones: 
							  <textarea id="regtos" rows="3" cols="5">Estoy de acuerdo en tener sólo una cuenta, y que mi uso de este 
sitio puede ser revocado en cualquier momento si hago mal uso de mi cuenta. También acepta que este sitio publique comentarios realizados por mi en redes sociales (observación los comentarios serán publicados previo a una comprobación departe de la administración)</textarea></p>
							<p>Acepto los terminos y condiciones: <input type="checkbox" name="agree" id="agree" value="agree" /></p>
							<input type="hidden" name="asfsagrg4" value="d76fghhjd" />
							<p><input type="submit" name="submit" value="Register" id="regsubmit" /></p>
						</form>

y la validacion php y el envio del mismo

if ($_POST['asfsagrg4'] != "d76fghhjd") {  
	if ($_GET['confirm'] != NULL) { // This is the code that executes when a user follows the activation email code:
		$post_username = am_injection($_GET['username']);
		$activationcode = am_queries($db, "SELECT * FROM AMCMS_users WHERE username='$post_username'");
		$confirmation = sha1($activationcode[0][0].$activationcode[0][1].$activationcode[0][2].$activationcode[0][4].$activationcode[0][5].$activationcode[0][6]);		
		if ($_GET['confirm'] == $confirmation) {
			am_queries($db, "UPDATE AMCMS_users SET permissions=0 WHERE username='$post_username';");		
			$errorMessage .= $reg_activationsuccess;
		} else {
			$errorMessage .= $reg_activationfail;
		}
	} else {
		if ($registration_enabled == 1) {
			$displayForm = true;

		} elseif ($registration_enabled == 0) { // this is the end of the if block that checks whether or not registration is enabled.
			$errorMessage .= $reg_disabled;
		}

	} // This is the end of the get/confirm !=NULL if statement
	
} else { // This code executes when the registration form has been submitted.
		$post_username = trim(am_injection($_POST['username'])); // This pulls all the form data, filtered through the am_injection black list
		$post_password = trim(am_injection($_POST['password'], true));
                $post_passwordconfirm = trim(am_injection($_POST['passwordconfirm'], true));
		$post_email = trim(am_injection($_POST['email'], true));
		$post_emailconfirm = trim(am_injection($_POST['emailconfirm'], true));
		$post_regagree = am_injection($_POST['agree']);
		
		// Server side validation (very useful when users have javascript disabled)
		if ($post_email != $post_emailconfirm) {$errorMessage .= $reg_emailmatch; $fail = true;}
                if ($post_password != $post_passwordconfirm) {$errorMessage .= $reg_passmatch; $fail = true;}
		if ($post_regagree != 'agree') {$errorMessage .= $reg_tosfail; $fail = true;}
		if ($post_username == NULL | $post_password == NULL | $post_email == NULL | $post_emailconfirm == NULL) {$errorMessage .= $reg_allfields; $fail = true;}


		// Check for a user with the same email address
		$sql = 'SELECT COUNT( * ) AS `Rows` , `email` FROM `AMCMS_users` GROUP BY `email` ORDER BY `email` ;';
		$numusers = am_countrecords($db, $sql);
		$emailcheck = am_queries($db, $sql);
			$icounter = 0;
			while ($icounter < $numusers) {	// 
				if ($emailcheck[$icounter][1] == $post_email) {$errorMessage .= $reg_duplicateemail; $fail = true;}
			$icounter++;
			}			

		// Check for a user with the same username
		$sql = 'SELECT COUNT( * ) AS `Rows` , `username` FROM `AMCMS_users` GROUP BY `username` ORDER BY `username` ;';
		$numusers = am_countrecords($db, $sql);
		$usercheck = am_queries($db, $sql);
			$icounter = 0;
			while ($icounter < $numusers) {	// 
				if ($usercheck[$icounter][1] == $post_username) {$errorMessage .= $reg_duplicatename; $fail = true;}
			$icounter++;
			}	
			
		$finalpass = sha1($post_password.$regsalt); // Password hash
		$current_ip = getenv("REMOTE_ADDR");
		$regdate = date("Y-m-d");
		
		if ($fail != true) { // Finally, we're ready to create this user.
			am_queries($db, "INSERT INTO `AMCMS_users` (`userkey` ,`username`, `password`, `permissions`, `ip`, `datereg`, `email`, `avatar`, `arcadempoints`) VALUES (NULL, '$post_username', '$finalpass', $activation, '$current_ip', '$regdate', '$post_email', 'c1878ddaccbd448391f5149a5b496a00.jpg', 0);");
			$errorMessage .= $reg_success;
                        header("location:index.php?loadpage=./includes/login.php");  

			if ($activation == 1) { // No activation
				$errorMessage .= $reg_noactivation;
			} elseif ($activation == 2) { // Email activation
				$purl = $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
				$activationcode = am_queries($db, "SELECT * FROM AMCMS_users WHERE username='$post_username';");
				$confirmation = sha1($activationcode[0][0].$activationcode[0][1].$activationcode[0][2].$activationcode[0][4].$activationcode[0][5].$activationcode[0][6]);
				
				$activation_email = str_replace(array("%post_username%","%purl%","%confirmation%"),array($post_username,$purl,$confirmation),$activation_email);
				if (mail($post_email, $subject, $activation_email, $actheaders)) {
				   $errorMessage .= $reg_activationnotice;
				} else {
				   $errorMessage .= $reg_emailactproblem;
				}
			} elseif ($activation == 3) { // Admin activation
				$errorMessage .= $reg_requireadmin;
			}
		}
}
Se ve que hasta que no me pongo manos a la obra no encuentro nada, buscando por Internet e encontrado un código que me va como anillo al dedo

no pondré todo el código de verificación pondré un fragmento para que sea mas fácil encontrar la modificación por si a alguien le sirve

// Server side validation (very useful when users have javascript disabled)
		if ($post_email != $post_emailconfirm) {$errorMessage .= $reg_emailmatch; $fail = true;}
                if ($post_password != $post_passwordconfirm) {$errorMessage .= $reg_passmatch; $fail = true;}
		if ($post_regagree != 'agree') {$errorMessage .= $reg_tosfail; $fail = true;}
		if ($post_username == NULL | $post_password == NULL | $post_email == NULL | $post_emailconfirm == NULL) {$errorMessage .= $reg_allfields; $fail = true;}
                if(!preg_match("/^[a-zA-Z0-9áéíóúàèìòùÁÉÍÓÚÀÈÌÒÙÑñ\s]{2,6}+$/",$post_username)){$errorMessage .= $reg_cantidadnick; $fail = true;}
                if(!preg_match("/^[a-zA-Z0-9áéíóúàèìòùÁÉÍÓÚÀÈÌÒÙÑñ\s]{2,6}+$/",$post_password)){$errorMessage .= $reg_cantidadpass; $fail = true;}

Lo e probado yo y si que funciona ahora no se si funcionara para el detener al personaje que esta tocando las narices ya les contare si regresa espero que no

Saludos o por si alguien lo mira dificil de entender el codigo que agregue es este

   if(!preg_match("/^[a-zA-Z0-9áéíóúàèìòùÁÉÍÓÚÀÈÌÒÙÑñ\s]{2,6}+$/",$post_username)){$errorMessage .= $reg_cantidadnick; $fail = true;}
            if(!preg_match("/^[a-zA-Z0-9áéíóúàèìòùÁÉÍÓÚÀÈÌÒÙÑñ\s]{2,6}+$/",$post_password)){$errorMessage .= $reg_cantidadpass; $fail = true;}

se ve claramente que compruebo que el nick y la contraseña sean con la cantidad de caracteres y tipo de caracteres que me interesan.

Saludos.
Aparentemente deberia estar ya resuelto, cualquier otra duda no dudes en preguntar

Saludos!
Si por los momentos no e recibido ningún otro registro no deseado gracias por tu respuesta cualquier cosa raro ya os diré