<html><head><title>OSM tile server issue</title>
</head>
<body>
<span style=" font-family:'Arial'; font-size: 10pt;">Here is another victim of your usage policy.<br>
I am the main developer of Justmapzz, which uses GMAP.NET for map viewing. <br>
Since 2 days our users can no longer view OSM, because you blocked that library for everybody.<br>
We have always used GMAP.NET "as is", without diving into the code. <br>
Now that Grant Slater indicated a portion of the code that defines a user-agent, I had a close look at that detail and I must admit, that this definition of the user-agent gives room for doubt, but mainly because it makes it more difficult for you to develop server behaviour, based on the user-agent info.<br>
So I changed the definition of the user-agent to a fixed string complying with the directions for the syntax of user-agents and checked the response of your tile server to discover that nothing has changed, still error 403. Apparently you use more filter conditions.<br>
But wait a minute! A user agent was not designed for access control, but mainly for indicating the nature of a request initiator (=the software) to optimize the web response (an exception to this is the detection and blocking of bots).<br>
That is why the vast majority of service providers use license keys, or whatever they call them.<br>
Then every web request must include the license key in order to gain access to the requested information.<br>
This system also makes it easy to check the usage level or block an individual license for any reason, without affecting other users.<br>
In this case, it would be much easier to detect the users that cause capacity problems and block only the problematic users, instead of "punishing" all users of a certain app, based on the software libraries, that app uses.<br>
Have you ever considered the introduction of a license key system?<br>
In the mean time, what must we do to comply with your usage policy, other than changing the user-agent, which appeared to be insufficient?<br>
Thanks for any help.</body></html>