Here's a quick tip on how to control your contacts when using SSL, monitering online users and a load balancer.
Kentico EMS has a lot of features for marketing purposes. Some of which are enabled by default and some which aren't. Over the last few months, I've noticed my contacts to be growing exponentionally which was somewhat concerning to me. Most people would be excited if they had almost 12,000 new contacts on their site in the last week.
The concerning part for me was many of these contacts were invalid and they were being added at a rate of around 2500 per day. These contacts had no activities and no IP address information logged at all!
The Back Story
In an attempt to gather as much data as possible about my website visitors, earlier in 2015 I enabled a few settings on my website, one being monitering online users in my version 8 instance of Kentico.
Not knowing there was an issue, I left it alone and kept on. About August or September I noticed my contacts growing and growing in the thousands each week. Seemed odd and I looked for any changes I remembered I made and possible solutions to resolve it. One solution was to block IP addresses at the IIS level with seemed to only be temorary as these IP addresses were changing like crazy.
In December of 2015 I upgraded my site to version 9 and noticed the issue still persisted. So I took some more actions to try to resolve it which were unsuccessful. So finally I broke down and asked Kentico Support for some help on this issue as I knew something had to be wrong.
What we found was there seems to be invalid SSL handling. What happens is when Monitoring Online Users is enabled and an invalid HTTPS request comes in a contact with no activity or IP address is created. The simple solution is to disable monitoring online users, which I did and noticed an immediate resolution of the issue.
Kentico also is looking into the bug to see if it is valid or if there are other issues around it but if you don't need to monitor online users, don't enable it. Kentico also suggested looking into implementing the SSL acceleration code
to help with the issue (which I have not yet done).
Once I hear back from Kentico, I'll post an update and let you know what we find!
Update! Check out this post
on what the final solution is!
Best of luck and Happy Coding!