FAQ |
Kalender |
2009-03-01, 19:32 | #1 | ||
|
|||
Nykomling
|
Hej!
Har problem med att få ord blockerade i formulär.. har inte mkt koll på php än.. Mina kunder blir iallfall nedspammade av en idiot som marknadsför sitt företag.. Kan inte någon hacka sönder hans site.. :angry: Jaja till problemet: Kod:
if (preg_match('/(trams|skräp|bluff)/ui',$values,$m)) { $valid_postback = false; echo "test : ".$m[1]; } |
||
Svara med citat |
2009-03-01, 22:15 | #2 | ||
|
|||
Nykomling
|
Lite mer info om vad det är du vill blockera hade varit intressant! Alltså mer exakt värde som du är ute efter.
Samt är det så att han spammar från din sida med något formulär eller handlar det om att han har fått eposterna? Och om values är en array så kan du inte kolla på det sättet utan får köra foreach. Jag skulle gjort något i stil med: Kod:
$checkd = 0; foreach($value as $check){ if(preg_match("string", $check){ $checked = 1; } } if($checkd == 0) { mailform.... } else { echo "Du får inte spamma min mailform!!"; } |
||
Svara med citat |
2009-03-01, 22:23 | #3 | |||
|
||||
Mycket flitig postare
|
Domine, jag har just svarat på samma fråga som du ställt i en annan tråd. Håll dig till en tråd - det hjälper varken dig eller andra att göra inlägg överallt. (Jag är ju inte moderator här men jag kan tänka mig att du riskerar att få ditt medlemskap avsagt på det här sättet.)
|
|||
Svara med citat |
2009-03-01, 23:32 | #4 | ||
|
|||
Nykomling
|
Jo jag vet att du svarade mig genom förra tråden Martine! Tack för det! Men jag lyckades inte trots ditt svar... Anledningen till att jag nu är här, är för att jag ansåg denna tråd mer relevant (php), och kanske därför får ett svar snabbare än att vänta på fel tråd. Så.. det var fel tråd från början, men nu är det rätt! Det är väl bra att man på eget initiativ behåller ordningen
Moderator får gärna flytta frågeställningen i andra tråden om jag gjort fel. Hur som helst.. Haha ja på me luvan och pinga.. lol Företaget spammar mina annonsörer via "svara-annons"-formulären. Jag vill kunna blocka flera utvalda ord samt spärra vissa e-postadresser från att skicka via formulären. Jag har som sagt fått till hjälp den koden jag skrev in här ovan, men det blir lik förbannat något som skiter sig, mailen skickas trots detta.. Får prova ett tag till.. Här är koden ialf, ska testa igen få se pontus! Kod:
<?php require_once('../includes/startup.inc.php'); if (is_form_submit('submit_form') && ($_SERVER['REMOTE_ADDR'] != 'xx.xxx.xxx.xxx')) { $class['ok'] = ''; $class['error'] = ' error'; $class['type_error'] = ' typeError'; $class['name'] = $class['ok']; $class['email'] = $class['ok']; $class['subject'] = $class['ok']; $class['body'] = $class['ok']; $values['name'] = strip_html(get_from_request('name', '')); $values['email'] = strip_html(get_from_request('email', '')); $values['subject'] = strip_html(get_from_request('subject', '')); $values['body'] = strip_html(get_from_request('body', '')); $valid_postback = true; $postback_errors = array(); if (strlen($values['name']) == 0) { *$valid_postback = false; *$class['name'] = $class['error']; *array_push($postback_errors, $texts['advert_email_name_error']); } if (strlen($values['email']) == 0) { *$valid_postback = false; *$class['email'] = $class['error']; *array_push($postback_errors, $texts['advert_email_email_error']); } else if (is_invalid_email($values['email'])) { *$valid_postback = false; *$class['email'] = $class['type_error']; *array_push($postback_errors, $texts['advert_email_email_type_error']); } if (strlen($values['subject']) == 0) { *$valid_postback = false; *$class['subject'] = $class['error']; *array_push($postback_errors, $texts['advert_email_subject_error']); } if (strlen($values['body']) == 0) { *$valid_postback = false; *$class['body'] = $class['error']; *array_push($postback_errors, $texts['advert_email_body_error']); } * // anitspam check * * * * * if ($valid_postback) { *$antispam = new anitspam_class($db, $cfg); *if (!$antispam->validate_log_post()) *{ * $valid_postback = false; * array_push($postback_errors, $texts['general_antispam_error']); *} } $_SESSION['temporary']['postback_errors'] = $postback_errors; $_SESSION['temporary']['values'] = $values; $_SESSION['temporary']['classes'] = $class; if ($valid_postback) osv................................... Kod:
<?php $blockwords="xxxxxx"; if(!empty($blockwords)&&!empty($_POST)){$useBlocks=explode(",",$blockwords);foreach($useBlocks as $blockWord){foreach($_POST as $Name=>$Value){$Value=trim($Value);$Value=strtolower($Value);if(!empty($Value)&&strpos($Value,$blockWord)!==false){exit();}}}}?> Tack |
||
Svara med citat |
Svara |
|
|