duda con IF

  • Autor Autor javier29pe
  • Fecha de inicio Fecha de inicio
javier29pe

javier29pe

1
Sigma
SEO
Verificación en dos pasos activada
Suscripción a IA
dispongo de este codigo que impide que los spam creen posts en mi foro con links

lo que necesito es que un dominio determinado pongamos http://www.burritos1234.com si se pueda escribir (vamos una excepcion a la regla de todas las urls)

sabriais decirme como seria la linea que me falta?

//Define the minimum number of posts for "good" users
//Users below this threshold are considered potential spammers
$user_posts_threshold = 3;

//strip whitespace characters in the post body
$msgwows = $data['message'];
$msgwows = str_replace(" ", "", $msgwows);
$msgwows = str_replace("\n", "", $msgwows);
$msgwows = str_replace("\r", "", $msgwows);
$msgwows = str_replace("\t", "", $msgwows);

if (!$user->data['is_registered'] ||
$user->data['user_posts'] < $user_posts_threshold) {
if (strpos($msgwows, 'http://') !== FALSE ||
strpos($msgwows, 'ftp://') !== FALSE ||
strpos($msgwows, 'www.') !== FALSE ||
strpos($msgwows, '[url') !== FALSE) {
trigger_error("You are not allowed to post URLs!");
}
}


GRACIAS.
 
Podrias probar algo asi

PHP:
if (!$user->data['is_registered'] || $user->data['user_posts'] < $user_posts_threshold) 
{
	if (strpos($msgwows, 'http://www.google.com') === false)
	{
		if (strpos($msgwows, 'http://') !== FALSE ||
			strpos($msgwows, 'ftp://') !== FALSE ||
			strpos($msgwows, 'www.') !== FALSE ||
			strpos($msgwows, '[url') !== FALSE) 
		{
			trigger_error("You are not allowed to post URLs!");
		}
	}
}

Solamente continuara con la validacion si la url introducida NO es el que quieres que si salga..
Puedes probar a ver si asi te funciona segun lo que necesitas
 
Podrias probar algo asi

PHP:
if (!$user->data['is_registered'] || $user->data['user_posts'] < $user_posts_threshold) 
{
	if (strpos($msgwows, 'http://www.google.com') === false)
	{
		if (strpos($msgwows, 'http://') !== FALSE ||
			strpos($msgwows, 'ftp://') !== FALSE ||
			strpos($msgwows, 'www.') !== FALSE ||
			strpos($msgwows, '[url') !== FALSE) 
		{
			trigger_error("You are not allowed to post URLs!");
		}
	}
}

Solamente continuara con la validacion si la url introducida NO es el que quieres que si salga..
Puedes probar a ver si asi te funciona segun lo que necesitas

El problema en tu solución es que si pone la url que sí desea pero ponen urls que no desea, tampoco le permitiría postear.

usa un preg_replace() para eliminar lo que no deseas en el mensaje.
 
Atrás
Arriba