У меня есть следующий сценарий: клиенты Android общаются с сервером PHP через HTTP Post. PHP-сервер обменивается данными с базой данных mySQL и отправляет результат в виде JSON для клиента Android. Я уже говорил об этом: обеспечение соединения с php-сервером
Вывод заключается в использовании TLS / SSL для защиты соединения. К сожалению, мой сервер не поддерживает tls.
Есть ли какой-то другой способ как-то затруднить получение API моего php-сервера, поэтому люди не могут отправлять сообщения через ПК на мой сервер.
Я думал о gzip, но я это будет низкий барьер …
Поэтому, если кто-то нюхает трафик с помощью wirehark, ему нелегко будет узнать, как делается связь с моим php-сервером.
вы можете создать какой-то хэш всех данных, которые вы отправляете на сервер, а затем отправить этот хэш вместе с данными на сервер, тогда сервер может вычислить один и тот же хеш и проверить его на отправленный хеш. то никто не может отправлять свои данные, если они не выясняют, как вычисляется хеш.
Вы можете использовать ob_get_contents
, ob_get_contents
и ob_get_contents
чтобы поймать все данные, которые вы ob_get_contents
а затем использовать некоторый алгоритм шифрования для защиты данных (возможно, используя закрытый ключ, полученный вашей собственной временной функцией), а затем запустить программу на клиенте расшифровать данные на стороне клиента.
Уровень безопасности будет зависеть от того, какой метод вы использовали, но вы можете пожертвовать некоторой производительностью, если используете слишком сложное. Но если вы используете свои собственные, для кого-то будет очень сложно взломать, но это зависит от того, как сильно они пытаются сломать вашу систему.
Если вы хотите сделать его более изощренным, взгляните на Mentalis. Они сделали реализацию C # с открытым исходным кодом для сервера SSL, поэтому вы можете использовать некоторые из них, если вам нужно вдохновение.