Using preg_match to block spam URLs in PHP forms

Reply

Join Date: Jun 2008
Posts: 1
Reputation: Tig is an unknown quantity at this point 
Solved Threads: 0
Tig Tig is offline Offline
Newbie Poster

Using preg_match to block spam URLs in PHP forms

 
0
  #1
Jun 12th, 2008
Hello

I have a PHP website form that gets filled out with spam - mostly URLs. To try and stop this I have inserted the following code into my form:

  1. $SpamErrorMessage = "No website URLs permitted";
  2.  
  3. if (preg_match("/http/i", "$telephone")) {echo "$SpamErrorMessage"; exit();}
  4. if (preg_match("/http/i", "$website")) {echo "$SpamErrorMessage"; exit();}
  5. if (preg_match("/http/i", "$email")) {echo "$SpamErrorMessage"; exit();}
  6.  
  7. /* If e-mail is not valid show error message */
  8. if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
  9. {
  10. show_error("E-mail address not valid");
  11. }
  12.  
  13. /* If URL is not valid set $website to empty */
  14. if (!preg_match("/^(https?:\/\/+[\w\-]+\.[\w\-]+)/i", $website))
  15. {
  16. $website = '';
  17. }
However, I have another field in the form that asks the user what their website address is. Of course when they fill that out, the above code blocks it meaning that when they click on 'Send' it tells them that "no URLs are allowed", so they can't submit the form. If I take out the line:

if (preg_match("/http/i", "$website")) {echo "$SpamErrorMessage"; exit();}

the form works - though the person filling it out would have no way of knowing that of course - but on the thank you page gives an error message.

I'm not sure how to escape the above code about the website. If it wasn't for the fact I ask them for their own URL the code would work fine to stop spammers!

Any advice hugely appreciated!

Thanks.

Tig
Last edited by peter_budo; Jun 16th, 2008 at 8:55 am. Reason: Code tag correction, closing tag is [code] not <code>
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:



Other Threads in the PHP Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC