Im new to webapi2, I`v implemented a simple WebApi2 project, which unlocks some data from a third party webservice (which is called with credentials)
This works fine, but now Im looking for ways to avoid scrape content from our webapi. It isn`t sensitive data, but it can be beneficial for competitors.
We cant have our users log in, but im looking for ways to make it harder for someone to scrape the content from the webservice. Since the data is freely available from our website, I understand we cant make it 100% secure, but there must be something I can do to make it harder (and it seems like a problem people have countered before, I just cant seem to find some clear information)
Ive looked into CORS, but that seems more geared the other way around, allow request from other domains.
Maybe use some secret key in the backend, hash it with some datettime and header information, and let the javascript add that to the ajax calls, and check in the webapi methods if the token is valid?
Edit
Because there doesn`t seem to be an easy (and clean) way to stop abuse with token authenticiation, I decided to go with Ip throttling. Not ideal, but it helps:
I used this library and it works well: https://github.com/stefanprodan/WebApiThrottle