Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you prevent gaming of page views?

Say I have a site with pages. Pages are ranked based on the number of times they have been viewed. It is good for a page to be highly ranked because it will make it show up higher in my search results. Hence, the author of a page may try to game the system to increase that particular page's views.

So how do you prevent that while still keeping a quasi-accurate count?

I have come up with the following "scheme":

A user can only affect the page view once per session. This is what I would normally expect. If a user returns to the site later and views the page again, it should count as another page view.

The problem is that this makes the page view increment vulnerable to a script that clears its cookies before each request. The easiest solution to this problem would be to save the ip-address and only allow the same ip-address to increment page count once. This however has several major drawbacks; First of all, this would potentially take up a lot of storage, and second of all would prevent users on big LANs from incrementing page count. Lastly, a user cannot revisit a page and increment the page view more than once from the same ip. I can live with that, but would rather live without it.

The best method I can come up with off the top of my head would be to save the last X ip-addresses, and not let anyone from these ip-addresses affect the page view count. This would effectively stop any (simple) script from raising the page view count. Furthermore it would probably be a good idea to add a delay to the display of actual view count (basically keeping two counts and a datetime field for when the "display" count was last updated with the "actual" count, something I believe is done on the SE sites).

This is not a perfect solution, so I would be happy to hear your suggestions and/or comments.

like image 621
Klaus Byskov Pedersen Avatar asked Mar 02 '11 17:03

Klaus Byskov Pedersen


People also ask

How do I turn off Games on my Facebook page?

Updated mobile browser experienceTap in the top right of Facebook. Scroll down and tap Settings. Go to the Security section and tap Apps and Websites. Tap Edit next to Apps, Websites and Games, then tap Turn Off.

How do you block someone from streaming on Facebook?

Tap Edit Settings. Tap People and Other Pages then tap People Who Like This Page. Tap Ban next to the person you want to ban. Tap OK.


1 Answers

Don't prevent: monitor and handle.

I would use a very different approach. Let the page views stay the same, but have reporting in place to looks for view-gaming. If a page gets gamed, you can find out who is responsible, give them a warning and a page-view penalty. If it continues, ban them.

like image 114
corsiKa Avatar answered Oct 23 '22 18:10

corsiKa