Английский не мой родной язык. Я сделаю все возможное, чтобы объяснить себя.
Я создаю API для использования клиентами через Javascript. Клиент должен разместить на своем сайте что-то вроде этого:
<script>
var my_api = {
public_key: "123456"
};
</script>
<script async src="https://api.example.com/v1/init.js"></script>
Итак ... как я могу использовать открытый ключ для проверки веб-сайта клиента?
Я знаю, что могу найти реферера и сравнить его с ключом в моей базе данных, но:
(a) Если реферер может быть подделан, открытый ключ не будет полезен, потому что он уже открыт
И (b) если рефери не может быть фальсифицирован, зачем мне использовать открытый ключ? Разве не достаточно с реферером?
Я не могу попросить клиента зашифровать что-либо для изменения, если у него есть правильный ключ, если кто-то может знать ключ ...
В прошлом я создавал только API с закрытым и открытым ключом (или только с закрытым).
Наконец, я хочу, чтобы все это было установлено на веб-сайте клиента путем копирования / вставки нескольких строк кода JS (поэтому я хочу использовать только открытый ключ).
Я знаю, что это возможно, потому что именно так работает Google Ads, мне просто нужна помощь, чтобы выяснить способ.
Примечание: я искал другую тему на форуме, но не смог найти ответа, просто что-то связанное с SSH и nodeJS. Я занимаюсь разработкой простого API с использованием PHP и чистого JS.