Kom ihåg mig?
Home Menu

Menu


Hjälp med blockering av spam

Ämnesverktyg Visningsalternativ
Oläst 2009-03-01, 19:32 #1
Domine Domine är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2007
Inlägg: 29
Domine Domine är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2007
Inlägg: 29
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]; 
 }
Skulle inte detta stoppa att formulär går iväg?? söksträngen values är ju namn,epost,message.. kanske inte kan ha values som söksträng? Någon som vet, eller är det som att fråga er var jag har bilen parkerad...
Domine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-03-01, 22:15 #2
pontuscs3 pontuscs3 är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 4
pontuscs3 pontuscs3 är inte uppkopplad
Nykomling
 
Reg.datum: Feb 2009
Inlägg: 4
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!!";
}
Om du vill hacka hans sida så får du lagra $_SERVER["REMOTE_ADDR"] och försöka pinga hans ip... h34r:
pontuscs3 är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-03-01, 22:23 #3
martines avatar
martine martine är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Mar 2005
Inlägg: 767
martine martine är inte uppkopplad
Mycket flitig postare
martines avatar
 
Reg.datum: Mar 2005
Inlägg: 767
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.)
martine är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-03-01, 23:32 #4
Domine Domine är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2007
Inlägg: 29
Domine Domine är inte uppkopplad
Nykomling
 
Reg.datum: Dec 2007
Inlägg: 29
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...................................
Förresten!! Just innan ja posta hitta denna:

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();}}}}?>
Det verka funka, är det en bra lösning? Dock skulle jag vilja att det såg ut som om mailen gick iväg... nu blir det exit.. Det vore ju bra om man iallfall kunde lura spammarna att tro det funkar, så de i alla fall slösar bort sin tid... hehe :P

Tack
Domine är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 00:39.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017