Hi guys,
Recently we implemented the preferences center, where you can enter and subscribe, edit your settings or unsubscribe. The problem here is that you can put any email for this without any validation, plus the use of cookies, if you fill a form (unsubscribe one) with other person email and go to the edit settings, it will recognize that email as yours and will bring your peresonal data.
So one step that I see here is to hide those options so you can only enter by link form email, plus this link will pre-populate the email in the edit setting form.
How do you guys manage your Preferences Center to avoid this kind of issues?
Regards,
Raúl
Message was edited by: Raul Ocaña
Solved! Go to Solution.
Welcome to the club ...
I have been keeping saying this to my customers for months and no one is listening
The way we handle it is making sure that the preference center can only be accessed from an email link. It's not 100% perfect because of the forwards (in which case it's your lead's problem, though), but it's a first level. The way we do this is with some JS that controls that there isa mkt_tok in the inbound URL and that it's not fake (it generates an email). If this is not the case, the page redirects with a simple, cookie-less identification LP with a form where one can enter his email are receive a new link to the preference center.
The second level of security is to make the email field read-only in the preference center. There are some additional buttons to access the identification LP. There is also another button to access a "change email" LP that is also controlled with a series of emails.
And the third level is to have the preferences validated with a last email.
-Greg
Welcome to the club ...
I have been keeping saying this to my customers for months and no one is listening
The way we handle it is making sure that the preference center can only be accessed from an email link. It's not 100% perfect because of the forwards (in which case it's your lead's problem, though), but it's a first level. The way we do this is with some JS that controls that there isa mkt_tok in the inbound URL and that it's not fake (it generates an email). If this is not the case, the page redirects with a simple, cookie-less identification LP with a form where one can enter his email are receive a new link to the preference center.
The second level of security is to make the email field read-only in the preference center. There are some additional buttons to access the identification LP. There is also another button to access a "change email" LP that is also controlled with a series of emails.
And the third level is to have the preferences validated with a last email.
-Greg
Hi Greg,
In your solution what will happen if a user submits the form that has the email only, but opens it from another PC? This new location won't have the cookies because it didn't do any form submit, so once the Preferences page loads (with email field as read-only), will it set the email address or it won't recognize it?
Regards,
Raúl
Hi Raul,
In my solution, whether the cookie exists or not does not matter. Only the mkt_Tok from the email matters. If the person accesses the page without coming from an email, he will be redirected to the identification page.
-Greg
Raul, like Greg says, this is how Marketo Forms always work (whether labeled as "Preference Center" or regular forms). Since leads do not have a password, there is no way to authenticate them other than via email.
Removing the Email field -- so a mkt_tok-enized link is seemingly required for Pre-Fill -- merely obscures the functionality. It doesn't actually disable it, as you can still add a hidden Email field to the form post if you're malicious, and nothing can fully protect against that vector. (If you remove Email completely, also consider the legal angle: if you don't allow someone to enter another email address, then you're effectively stopping people from unsubscribing if they don't have an email on hand, which may not be legal -- talk your counsel on this.)
Unfortunately, there are multiple interests that are in conflict here.
[b] increases friction, so may cause legit actors to accuse you of purposely making opt-out more difficult.
I am eager to see the first lawsuit that will have to arbitrate between security and friction, if even the court can understand anything to all this
-Greg
Hi Greg,
How are you injecting Javascript to the form? I would like to prevent the access using JS and allowing only from email's link.
Thank you!
There are various ways, but all of the will require at least some modification to the LP template.
Are you familiar with form 2.0 API ?
read this: Best way to add a script in a guided landing page
-Greg
Hi Greg,
Thank you, I have checked that link and I have set up a LP Template to read URL params, that is the easy part.
But how do you create the link in the email with the params? I mean, do you encrypt it or somehting or it is just the mkt_tok variable with some random value in the URL?
Regards,
Raúl
Marketo will automatically add the Mkt_tok parameter as soon as you make the linjk traceable in the email. It does not need more. From the mkt_tok, Marketo will be able to identifiy the person and retrieve the data from the database without any cookie.
-Greg