Pagina 1 van 1

Voorkom dat een bot registeerd

Geplaatst: 09 nov 2006, 21:52
door Dennis
Ik ben toch zelf wat aan het proberen gegaan.
Maar lukt me niet helemaal :(

Ik heb in de agreement gezet:

Code: Selecteer alles

<form method="POST" action="profile.php?mode=register&agreed=true">
	<p>Ik stem toe met de voorwaarden <select size="1" name="meeeens">
	<OPTION VALUE="">Kiezen</OPTION>
	<OPTION VALUE="ok">Ja ik wil ;)</option>
	</select>
	<input type="submit" value="verzenden" name="verzenden"></p>
</form> 
in de usercp_register staat:

Code: Selecteer alles

$waarde = $_REQUEST['meeeens'];
if($waarde != 'ok'){
  redirect("profile.php?mode=register");
};
Dat werkt goed, maar niet voor de botjes, dat kan ik nog volgen.

Maar nu zal ik dezelfde waarde moeten gebruiken in de functions_validate zoals de username gechecked moet worden, om de registeratie af te keuren (dit al een een gebruiker nooit zien, omdat hij als niet door het bovenstaande heenkomt). En dan lukt met niet... wat ik ook probeer.

Tipje?

Dennis

Geplaatst: 10 nov 2006, 08:05
door svenn
Ik denk niet dat je poging bots zal tegen houden, wanneer hij de link maakt met agree ok isie er toch door. Ik denk dat deze : http://www.phpbb.com/phpBB/viewtopic.php?t=430710 veiligger is en veel eenvoudiger :bier:

Geplaatst: 10 nov 2006, 08:09
door Dennis
Nee zoals ik hem posten nog niet, daarom moest ik ook nog wat in de functions_validate fixen.....

Maar ja viel te proberen...... :(

Hoe gaan bots met cookies om ? :wink:

Geplaatst: 10 nov 2006, 08:40
door svenn
Dennis schreef:Hoe gaan bots met cookies om ? :wink:
Ik denk dat er reeds bots zijn die met cookies overweg kunnen maar in hoever ze kunnen bijleren weet ik niet.


Ik denk dat je in functions_validate.php moet zijn maar ik ken bitter weinig van functions. Als je daar een klein functietje maakt kun je in includes/usercp_register.php
hierboven :

Code: Selecteer alles

	$username = ( !empty($HTTP_POST_VARS['username']) ) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
iets als :

Code: Selecteer alles

$waarde = (!empty($_REQUEST['meeeens'])) ? $_REQUEST['meeeens'] : die("botje");  
Mogelijks niet de beste manier eigenlijk.

Geplaatst: 10 nov 2006, 12:24
door Dennis
Proberen kan altijd.

Had gisteren alleen steeds dat de variable $waarde leeg was bij het posten van het form :(

(ik liet de variable echoën en na de keuze in de agreement, werd hij nog wel weergegeven in de posting, maar als je dan op OK klikt het werkelijke forum dus post is het leeg :( )

Geplaatst: 10 nov 2006, 13:49
door svenn
heb je hem wel met hidden meegegeven ? want het zijn 2 apparte pagina's agreement en registratie form.

Geplaatst: 11 nov 2006, 09:30
door Bee
svennson schreef:heb je hem wel met hidden meegegeven ? want het zijn 2 apparte pagina's agreement en registratie form.
Heb je er enige benul van waar je het over hebt. Je denkt verkeerd, en daarnaast probeer je werk na te maken wat in het verleden veel beter gedaan is, en ook anders.

Bots geven altijd een website adres op:
- http://www.phpbb.com/phpBB/viewtopic.php?t=375262
Nog geavanceerder is deze mod in BETA status:
- http://www.phpbb.com/phpBB/viewtopic.php?t=399374
Het is zinvol een van deze mods te gebruiken. Bots gebruiken namelijk niet de formulieren om te registreren, maar gebruiken een directe URL om te registreren in de trand van:
http://www.forum.php/profile.php?mode=r ... xample.com

Verbied je de mogelijkheid om bijvoorbeeld de website op te geven bij registratie, dan weet die bot dat niet. Wordt er bij registratie ontdekt dat er toch ene website is opgegeven, dan wordt de procedure gestopt. Gevolg: geen account voor de bot, en jij een mailtje met persoonlijke informatie over de poging.

Bots doen niet aan cookies, bots krijgen altijd session id's in hun adres.

Geplaatst: 11 nov 2006, 09:40
door svenn
Bee schreef:Heb je er enige benul van waar je het over hebt. Je denkt verkeerd, en daarnaast probeer je werk na te maken wat in het verleden veel beter gedaan is, en ook anders.
svennson schreef:Ik denk niet dat je poging bots zal tegen houden, wanneer hij de link maakt met agree ok isie er toch door. Ik denk dat deze : http://www.phpbb.com/phpBB/viewtopic.php?t=430710 veiligger is en veel eenvoudiger :bier:
;)

Zodra de bot doorheeft dat hij geen website kan opgeven werkt jouw methode niet meer. In tegenstelling tot :
pentapenguin schreef:What is this MOD exactly? This MOD helps to prevent spam bots from registering by changing the "agreed=true" part of the registration URL to a unique value. This unique value is generated by MD5 hashing the user's IP address and their session ID number.

Zoals je zelf aangeeft word het meteen doorgezonden naar profile.php via de header.

Als Dennis wenst een eigen methode uit te zoeken kan ik enkel proberen te helpen. Uniek is volgends mij even veilig als heel wat andere mods.

Geplaatst: 23 nov 2006, 22:25
door Dennis
Bee schreef:Heb je er enige benul van waar je het over hebt. Je denkt verkeerd, en daarnaast probeer je werk na te maken wat in het verleden veel beter gedaan is, en ook anders.

Lief :bier:

Geplaatst: 21 dec 2006, 01:11
door Ramon Fincken
Uniek is volgends mij even veilig als heel wat andere mods.

Neen, uniek is niet per definitie even veilig als andere mods.
Uniek is wel vaak een goede methode ( totdat het gekraakt wordt, en geloof me dat gebeurt snel ).


Meer info:
[Tegengaan van SPAM/spambots op je forum]
http://www.phpbb.nl/viewtopic.php?t=31511

Geplaatst: 21 dec 2006, 12:42
door Derky
Ramon Fincken schreef:
Uniek is volgends mij even veilig als heel wat andere mods.
Neen, uniek is niet per definitie even veilig als andere mods.
Uniek is wel vaak een goede methode ( totdat het gekraakt wordt, en geloof me dat gebeurt snel ).
Het ligt eraan of die 'unieke-methode' op maar 1 forum gebruikt wordt of op heel veel forums.
Hoe meer forums die mannier gebruiken, des te eerder de spammers die mannier proberen te kraken. :wink:
(Ze gaan niet veel moeite doen voor maar 1 forum)

Geplaatst: 21 dec 2006, 18:59
door Ramon Fincken
klopt precies !!