У меня есть сервер, который обрабатывает запросы от клиента к базе данных sql. Сервер принимает запросы и выдает ответы в json. Я написал код для сервера и клиента, и все работает. Хотя это только для внутреннего инструмента, у меня есть опасения, что некоторые люди могут попытаться обойти клиента и отправить свои собственные сообщения json на сервер, чтобы потенциально манипулировать данными в базе данных sql.
Я не гуру безопасности, поэтому вот мой вопрос. Каков правильный метод для go о том, чтобы сервер принимал запросы только от клиента, которого я написал, независимо от компьютера или IP-адреса, на котором он работает?
Сначала я подумал, что мне следует шифровать сообщения между сервером и клиентом, поэтому, если кто-то попытается подделать соединение с неавторизованным клиентом, у него не будет надлежащего шифрования. Я также понимаю, что должен поставить аутентификацию на стороне сервера, но это означает передачу учетных данных, так что в любом случае сообщения должны быть зашифрованы. Если есть более приемлемый способ сделать это, я хотел бы знать. Если нет, ссылки на учебники будут оценены.
Как указано в тегах, это на linux в c ++. Хотя я уверен, что, вероятно, есть какая-то библиотека с открытым исходным кодом, которая делает именно то, что я хочу во всех вещах, я довольно ограничен в отношении того, какие библиотеки я действительно могу использовать.
Спасибо!