Aanmelden NMS spam

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm

Aanmelden NMS spam

Post by timdebuurman »

Hoi,

Ik heb een aanmelding voor NMS, waar teveel spam op binnenkomt.
Aanmeldingen voor de nieuwsbrief voor emailadressen die duidelijk iet van de doelgroep zijn. (goodsam@gmail.com, behappy@yahoo.com, dat soort dingen)

Ik heb de aanmelding ervoor in de footer staan, waar geen ruimte is voor een Captcha.

Hoe zou ik hier een verborgen veld kunnen bijmaken die, als deze ingevuld is, het formulier niet verstuurd?

Dit is de standaard 'inschrijven-sjabloon' :

Code: Select all

{if $message ne ""}
	<br /><span class="nms_message">{$message}</span><br />
	{/if}
	{$formstart}
		{$formhidden}

        {if $prompt_username ne ""}
                {$prompt_username}:&nbsp;{$username}<br />
        {/if}
        {if $prompt_email ne ""}
		Email:&nbsp;{$email}<br />
        {/if}

		{foreach from=$listids item=curr_id}
		  {$curr_id}
		{/foreach}
		{$submitbtn}
	{$formend}
Hopelijk is hier een oplossing voor.

gr Tim
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: Aanmelden NMS spam

Post by Rolf »

- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
staartmees
Power Poster
Power Poster
Posts: 1049
Joined: Wed Mar 19, 2008 4:54 pm

Re: Aanmelden NMS spam

Post by staartmees »

ik doe het heel, eenvoudig en effectief met een veld 'hoeveel is de som van twaalf en vijf voluit geschreven?' Dan controleren of er 'zeventien' staat of niet.
User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm

Re: Aanmelden NMS spam

Post by timdebuurman »

@Rolf
Bij deze uitleg wordt uitgegaan van Formbuilder, waarbij je inderdaad makkelijk een 'field validation' toe kan passen.

In mijn geval gaat het om het aanmeldformulier van NMS.

@staartmees
Ik heb geen ruimte om extra velden toe te voegen. Geen Captcha, maar ook geen extra invoerveld.
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
Jos
Support Guru
Support Guru
Posts: 4020
Joined: Wed Sep 05, 2007 8:03 pm

Re: Aanmelden NMS spam

Post by Jos »

Je kunt Formbuilder gebruiken, aangevuld met een udt die de daadwerkelijke aanmelding in NMS wegschrijft. Ik heb dat scriptje ergens liggen, ik wil best even zoeken als je interesse hebt.
User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm

Re: Aanmelden NMS spam

Post by timdebuurman »

Hoi Jos,

Ik heb wel een UDT ergens om het met een een keuzelijst/checkbox te doen, maar dat werkt niet goed.

Als je dat script hebt, graag.

gr Tim
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm

Re: Aanmelden NMS spam

Post by timdebuurman »

Thx!

Moet de UDT aangeroepen worden binnen Formbuilder (STart een gebruikers gedefineerde tag met de formulier resultaten) of dmv gebeurtenissen beheer?
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
Jos
Support Guru
Support Guru
Posts: 4020
Joined: Wed Sep 05, 2007 8:03 pm

Re: Aanmelden NMS spam

Post by Jos »

Vanuit Formbuilder zelf, het veldtype wat je noemt, zou moeten werken.
Ik geloof dat ik dit zelf niet gebruikt heb, maar simpelweg een udt tag in de verzendbevestigingstemplate van het formulier gezet heb. In dat geval de udt wel expliciet voorzien van parameters gelijk aan de formbuilder veldnamen voor email en naam, dus zoiets als {nms_adduser naam=$fbvariabele e_mailadres=$fbvariabele}
User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm

Re: Aanmelden NMS spam

Post by timdebuurman »

Jos,

Heb je je bericht met de udt weggehaald?
Ik had deze nog niet gekopieerd..
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
Jos
Support Guru
Support Guru
Posts: 4020
Joined: Wed Sep 05, 2007 8:03 pm

Re: Aanmelden NMS spam

Post by Jos »

Ik niet... zal wel niet mogen ofzo... Wist niet dat dat ook voor UDT gold...
User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm

Re: Aanmelden NMS spam

Post by timdebuurman »

mag vast wel...zal wel foutje zijn dan..

Wil je deze nog eens posten?
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
Jos
Support Guru
Support Guru
Posts: 4020
Joined: Wed Sep 05, 2007 8:03 pm

Re: Aanmelden NMS spam

Post by Jos »

nee hoor... berichten vallen hier nooit zonder reden weg.
Probleem is dat ik het script wat ik had aan moest passen, omdat ik het zo gebruik dat ik formbuilder in de ene website heb en nms in een cmsms site onder een ander domein.
Die aanpassingen heb ik niet opgeslagen :'(
User avatar
timdebuurman
Power Poster
Power Poster
Posts: 891
Joined: Sun Nov 06, 2011 8:15 pm

Re: Aanmelden NMS spam

Post by timdebuurman »

Na wat rondzoeken op het forum heb ik deze gevonden:

Code: Select all

$gCms = cmsms();
$nms = cms_utils::get_module('NMS');
if(!is_object($nms))
 return false;
if (!isset($params['name']) && !isset($params['email'])  && !isset($params['list']))
   return;

$name = '';
if (isset($params['name']))
   $name = $params['name'];
   
$email = '';
if (isset($params['email']))
   $email = $params['email'];

$list = '';
if (isset($params['list']))
   $list = 1;
//This is a mandatory list ID all should belong to
 //Add user to NMS
        //array(1) -- represents the id of the mailing list to add them to.  Change the 1 to whatever you want.
        $nms->AddUser($email, array(1), $name);

        //Set the confirmed flag to true (they clicked the checkbox -- that's enough)
        $db =& $gCms->GetDb();
        $db->Execute('UPDATE ' . cms_db_prefix() . 'module_nms_users SET confirmed = 1 where email = ?', array($email));
Dit werkt nu goed.
Enige is dat als het ' verborgen veld' wel ingevoerd wordt er een foutmelding verschijnt dat deze niet correct is ingevoerd.

Ik weet niet hoe slim de spam-bots zijn, maar zou mooier zijn als het formulier wel gewoon verstuurd wordt, maar dat de inschrijving in de nieuwsbrief niet gebeurt.

Dat zou toch iets in de UDT aangepast moeten worden en niet de validatie op het verborgen veld..
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
User avatar
Rolf
Power Poster
Power Poster
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Contact:

Re: Aanmelden NMS spam

Post by Rolf »

Jos wrote:nee hoor... berichten vallen hier nooit zonder reden weg.
Helaas gebeurt dat wel eens... zonder duidelijke reden (in het log) zijn posts weg. Ook die van mijzelf.
Voorbeeldje http://forum.cmsmadesimple.org/viewtopi ... 20&t=47192


Maar ik heb hier ook even in het log gekeken. Maar deze post is wel handmatig verwijderd. Heb navraag gedaan. De UDT gebruikte "Internals" van NMS en dat is niet gewenst. Jos, jij zult het beter snappen dan ik ;)


De UDT die timdebuurman gebruikt is erg "gevaarlijk". Dit in de zin dat je om de module heen een wijziging aanbrengt in de database. Je kunt daardoor op korte of lange termijn problemen veroorzaken in de module/website. Problemen bij upgrades of andere problemen die module-gerelateerd lijken maar veroorzaakt worden door de UDT... Niet doen dus!! Lijkt me ook beter om dit niet op het forum te laten staan!
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
Jos
Support Guru
Support Guru
Posts: 4020
Joined: Wed Sep 05, 2007 8:03 pm

Re: Aanmelden NMS spam

Post by Jos »

Rolf wrote:De UDT die timdebuurman gebruikt is erg "gevaarlijk". Dit in de zin dat je om de module heen een wijziging aanbrengt in de database.
Rolf doelt waarschijnlijk op de laatste paar regels, onder //Set the confirmed flag to true

De methode AddUser kan dat tegenwoordig al rechtstreeks regelen, daar heb je geen aparte database update voor nodig. Die database update kun je weglaten als je onderstaande gebruikt.

Code: Select all

$disabled = 0;
$confirmed = 1;
$nms->AddUser($email, array(1), $name, $disabled, $confirmed);
Post Reply

Return to “Dutch - Nederlands”