Я собираюсь пойти дальше и сказать, что если ваша база данных заблокирована, то это не имеет значения, если:
- Совместное использование ключей API означает потерю в C.I.A. пользовательской информации.
- Вы облегчаете пользователям вызовы вашего API без аутентификации второго уровня.
Я уверен, что вы уже понимаете, что принятие мер против внедрения SQL-кода не позволит никому воспользоваться этой информацией, однако знание диапазона индекса может означать, что кто-то узнает, что на 1 меньше или на 1 больше в диапазоне индекса материальный ключ, который будет использоваться для доступа к вашему API.
Например:
Если вы можете получить доступ к своему API через URL-адрес без входа в систему, тогда использование диапазона индексов - это плохо.
http://mysite.com? APIkey = 145
Если я знаю, что мой ключ 145 , то 144 и 146 , вероятно, также будут работать для совершения вызова.
Использование схемы GUID - способ справиться с этим, но с этим вы делаете другие жертвы :
ID (индекс): 145
ID (GUID): C87FC84A-EE47-47EE-842C-29E969AC5131
Или, наконец, вы можете добавить еще один столбец, чтобы сохранить случайный хеш в качестве уникального ключа API, как вы сказали:
ID (хэш): da39a3ee5e6b4b0d3255bfef95601890afd80709