Although this is not a WP question, it could be done with some PHP/MySQL code. Just the psuedocode:
- generate a GUID value on each main page visit
- check if the GUID is already in the GUID database
- if not, store the GUID in the GUID database
- if GUID exists in the database, redirect to another page (“you were already here, only one per customer” message)
This requires a GUID database that you get to build. And all of the PHP/MySQL code to implement.
Then, create a template from your theme (and a Child Theme to put it in). Add the code to check/store the GUID to that template.
You could also make it into a plugin, where the plugin checks for the page-id of the page you want to limit, so the plugin only runs on the specific page.
But, again, this is not a WP Development question. You’ll have to build it yourself. But it can be done. My approach is only one way; there are probably others discoverable via the googles (or bings or ducks).